Wow, old thread.
Your solution seem easy and similar to what the AfterEffects plugin does (can't remember the name of it), but without the ability to ramp up and down the speed.
I've sort of give up on what I was going to apply this to, but it's good to know for future info.