My personal trick was to move the hell out of SF and the Bay Area (this could be generalized to out of any large concentrated hub of people who also do the same thing as you). If you're not dealing with tons of other engineers who need odds and ends like dev tools, integration testing, api adapters, and other such things that will never see the light of the outside world, you can get much "better" terms on your projects. For example, if your client is a starving country musician in backwater Louisiana, you can build his entire website for him and charge him a portion of whatever album sales happen through his website. This means a lot less upfront $$, a little more risk, but generally much more stable long term pay-offs because you've aligned your mutual incentives.