I used to have that problem but have since re-directed who I choose to work for just so their figment of economic status doesn't whack me in the butt.
On new maintenance accounts I demand a three month deposit up-front when signing a one-year contract. I tell the new client they make the year and the deposit is applied to the following year renewal. If they drop I will prorate the deposit return.
Those that scream I won't work for - those that pay have remained faithful clients to this day.
Nice Try = You Suck Spelled Differently