Sadly I have few clients like this. Even worst are the ones who always want you to be ready to drop whatever you are doing to take care of their projects, but when it's time to pay their bank is always late or have problems to send out checks...
Since this can have a broader effect of rewarding unscrupulous behavior in particular freelance market, I try to be prepared to absorb the costs of walking away from a nasty client at any time. If this puts the client in jeopardy because it blows their schedule, that's precisely what they earned, and perhaps they shouldn't be contracting freelancers in the first place.