The correct fix is to have a separate S-CPU core that's clocked at SNES master (21.whatever) and have everything take the right amount of cycles from there. Anything else will just cause trouble later.
Ok, I'm going to see this one, the plan is:
* Add a new CPU core, 5A22, that is a clone of G65816 with just a different CPU_EXECUTE (that contains a cycles*6 instead of cycles in this function)
* Modify SNES and friends driver to have this new core with clock = master clock instead of clock / 6
* Start to hook up all the cpu eat cycles where needed...
Is it a good plan?
EDIT: part one of the plan doesn't already work as expected...