I agree at somepoints to Joshak: you need first define good customers according to your business.
A good customer for one business may be a lousy customer to another and vice-versa.
After definition is ready, work on customization for those. Improve content, design and usability to them.
Defining your good customers will help knowing them, and after knowing them you will be able to improve your site efficiently to them.
It is a circle, it requires time and work, but worth the effort, as you can keep and expand to the target public.
Avoiding undesirable customers is tricky. They exists all the time, everywhere. You can just minimize them though customizing to your good customers, reducing their interest in your services or products.
Further, you can define rules for privacy and legal terms that allows you to bam undesired customers, but make this is a way that let you be ethical on bam out those customers, otherwise, this will be as the same as censorship, and no one agree with a dictatorial fashion. Guide yourself through ethics.