Guys, if you don't like clients and don't like most clients' ideas, then, uh, don't take on clients.
Programmers can:
1. Work at Big, Co. and make a decent living.
2. Work on your own projects and sell them directly to consumers (App Store)
3. Take on potentially douchey clients and their ideas.
If you can't stand the thought of #3, then just don't do it!