That's pretty much what I am doing, except that I don't bother handing out XP at all. After X number of adventures, everyone in the party goes up a level, whether the player was able to attend or not. I only use XP values for encounter balancing.
This is for sure the best way to go. For all cases. In your specific DM-swapping case, I can't think of another balanced alternative that will work this well.
Full disclosure, we have been doing all our games this way for awhile, in 3.5 and 4e, and it just works better.
Jay