2to3 already does the work of parsing python code looking for things that have changed between 2 and 3. Hopefully you could make it go backwards just by giving it some new rules...
Do you get rounding errors when running
2to3 prog.py | 3to2 | 2to3 | 3to2 | 2to3
?
I've not tried running it.
This is why I want a translation party implementation :)