I don't know of any magic answers here. No solution will work perfectly for all situations. So we need to consider how much benefit we get from each approach compared to how much complexity we add to the Tor code. I think it might be worth trying this one out (especially as Mike keeps volunteering to write code for us :)