Seriously you need to be a bit firmer with your customers.
I fully agree. If you appear to be desperate, a minority of customers will take advantage of you.
Be firm, but fair, be clear in your terms and conditions with them; but if you're sure someone's taking the mick out of you, dump 'em, otherwise you'll end up with a round full of idiots.
And, unless your short of work, don't be frightened to put up your prices. I put up about 30 residential customers recently, some that were seriously underpriced by about 30%, but I explained it all in a letter and to be fair to myself, I hadn't put this area's prices up in years; my fault.
I lost one.
If you're worried, why not put the price up for say 20 of your worst accounts, and see what happens? I bet you'll lose one or two at most. Then do the same with another 20... etc!