If you are a desirable company working with interesting technology, and a recruiter does an offensive job trying to recruit, that reflects badly on the company who hired the recruiter.
The companies should stipulate rules for the recruiters to earn the recruiting fee. Rules like: in the first email and and solicitation such as on a list, you must disclose who you hiring for, the nature of the project, the technologies involved, etc.
Companies could even resolve this issue by issue a company email like joe.mcruit+recruiters@companydoingthehiring.com that forwards leads to the appropriate recruiter. It's not a perfect solution, but any solution that allows candidates to deal with the recruiter in a way that holds the recruiter accountable to the company for which they are working can only serve to raise the very very low bar we have at the moment.