Nothing you can do. End of the day it is the customers choice who they spend their money with. I am in the same position, as we are subcontractors to another cleaning firm. We know that if we turned round and said we are not doing it any more, a number of the clients would come with us.
This is a risk you take same as when you take on staff. We employ staff and when they take holidays, some clients won't have any other of our cleaners go in until the member of staff return. You could put a clause in a contract like...
Restrictive Covenant
On leaving the company, I agree not to undertake provision of the same services / products as supplied by the Company either from my own business, or the employment of a competitor to the Company, for a period of two years, unless this is specifically agreed by the Company. The Company will only enforce that which is reasonable to protect it's business.
If it will stand up in a court of law is another thing. Like I said, the customer can choose what they want to do. Only way you can combat this is to try and keep up good customer relations with any of your clients you might think are at risk from poaching and if they do leave you, don't burn your bridges. Wish them well and reassure them that they are more than welcome back if they are ever in need of a cleaning service.