That's a very good question.
I had issues like this on almost every upgrade and I didn't find a clean solution to make this fast and simple.
Here is what I do now to minimize the time of making a theme work on other versions.
- try to make most of the design changes using css.
- copy to the new theme only the files you modify. - this reduces the code you may need to modify later.
- put a comment at the top of the files you copy to your theme (or above some lines) with the reason to why you needed to move it. Use a special markup so it's easier to grep.
- use
local.xml
(when possible) for layout changes to have them all in the same place. Again comment everything you add/remove/change so you will remember easily why you did it.
- after the upgrade, look in your theme folders and see what you changed. Then test the functionality related to your changes.
I guess all of these things sound like common sense, but if you stick to them it will make your upgrade a bit faster and safer but not "lightning speed" fast.