These concepts can be applied to all consoles (not just new). There are always general processes, procedures, and high level structural elements that are common to most ROM hacking projects. There is always opportunity to abstract much of the game specific elements away by being able to extract and build the structural elements you're dealing with.
We certainly could use more high level tools that do these types of things and work on nearly any game. I've been working on one such tool (TextAngel
) for awhile in the dumping and insertion realm. It's a project based utility that provides all the building blocks you would need to set up structural elements to deal with near any game. By revolving around building blocks and structures, you can extract, rebuild, and insert with near limitless possibilities. You're limited only by the building block elements you provide. I imagine this type of tool is along the lines of what you're talking about.
I can tell you it is a very large task to do tools like this. It takes much effort to abstract these structures to a high enough level and break the building blocks down small enough to be flexible enough for use on a wide number of games. Although my project is going along fine, it's taken me much longer than I ever anticipated to make it truly globally useful. I hope for your sake it is simpler to deal with virtual filesystems than text storage structures!
One thing I disagree with is using a programming language like Python unless you want to only target a small user base. Once you require all users to know a programming language, this eliminates over half of all ROM hackers. Then, of the remaining half, a number of them would probably build their own utilities if they have to program algorithms anyway.
I think one fundamental goal of such projects should be to simplify as much as possible to make hacking these items more accessible to all hackers, not just those that know programming languages. That's the whole point to abstracting away the details. You don't want to have to be writing individualized pieces of code or target only those users who already can deal with the details.