Easiest way around it is .Flux based editing and importing: develop everything as .Flux files, and import it all. It becomes an issue with large ROM hacks, but at that point you can divide development up into segments. After the first ten locations, play through those locations and verify that nothing has been corrupted.
Then rename that ROM, 01_Stage1Complete.smc
And you can always fall back on those as general backups. You can keep a concurrent log of development.
The issue is that with this random corruption, it seems to happen spontaneously. But with export / import based ROM hacking, if you find corruption, you can simply import your progress again. If it's there again, congratulations! One of the imports is bad, and if you give the ROM and relevant .Flux files to Geiger, maybe he can find out what's causing the problem.
It's just been a titanic headache messing with the scores of locations in Crimson Echoes.
Edit: Oh, and the other problem is that what you import has to have gone through post production. In this scheme, it'd be very difficult to do the entire ROM hack in phases, like an event / map skeleton, then post-production, tweaking lines, etc.