At this point in life, I've moved on to a new field altogether, but some of the ideas you are sharing above are exactly the types of models I experimented with.
A number of years ago, the term "F*ck you, pay me" was going around in popular vernacular. That jives with my own experiences - ask for deposits up front, make payment net-15, tack on a giant fee in the event of slow / failure to pay, and make sure your contracts are written so that the client pays legal bills in the event you have to sue. Create contract disincentives to encourage good behavior. Keep your rates high and don't give anyone a deal. Be willing to say no both to prospective clients as well as individual projects - even with good clients.