Perhaps it's time for the official bitcoin-qt client to support an auto sweep of inputs into a single transaction back to yourself on a regular basis. I've seen other threads where people discuss their techniques for doing this manually, but to my knowledge no client automates it yet.
I'm all for this. But, it is harder than it looks. The tricky part is that you have a bunch of competing pressures that you need to balance against the needs of the user. It gets hard to quantify some of the decisions you have to make.
I wrote my own script to do a little bit of collections and consolidation. But my script is not a general solution, it would be worthless, or worse than worthless, to people with different needs.