Raising your prices so they to the point were it is worth it to deal with them or they will "fire you" is the way to go. I held onto a customer for a whole season and they kept making me wait until the grass was 8-12" high in the back because there front yard wasn't growing. I started cutting her the following season until she started to make me wait again so I dropped her, just made sure I was caught up on my money due first. She was pi$$ed because the grass was high when I fired her, I simply told her that the it seemed to me that she must have liked the lawn that high since she always made me wait forever to cut. I told her there were plenty of illegals and cheap low-ballers that can deal with her if she wants and to my surprise she never called to bother me again.
Make sure you get as much of your money from them before you fire them, because obviously they won't pay after you fire them and its not cost effective to take them to court over it.
Just walk away from 'em.