I've got a crazy idea: we should start evaluating recruiters. I once had a very experienced recruiter get upset and pushy when I told her I was a bad fit for a job and I didn't want to apply. After some back and forth I realized that the source of confusion was that she didn't understand the difference between Java and JavaScript. Weeding out incompetent recruiters would help the whole process.