Thankfully, this has been getting easier lately - but I don't think it will ever feel normal, and it used to be almost impossible to do. What am I talking about? Well, about not taking the wrong client work.
They say that you can either have price, speed or quality - but not all three. This may be true, but those are just the things the client wants from you. What about the things you need from your clients? When we first started, we took almost any job we could find. People on craigslist, friends and family, word of mouth jobs, former coworkers at new companies with buying power, etc. If it was someone we could get in front of and needed IT work or web programming done, we'd probably do it.
Over time, you've got to become more selective. You've got to work for businesses who really believe in their business. You've got to work for businesses whose businesses you believe in. You've got to have reliable clients - who deliver their part of the contract on time. You've got to have clients whose projects actually end when they're supposed to without endless feature creep. You've got to have clients who trust and respect your opinions on their projects.
Sure, maybe you don't technically need these things to stay in business from a financial perspective - but you need them in place to stay sane from a personal perspective.