Streamline your hiring process so it's not so expensive. We talk about agile software and fast iteration all the time, but we don't apply it to employees. It shouldn't be so expensive to decrease the level of filtering on incoming resumes, try more people out, and get rid of the ones that don't work out.
Otherwise, the alternative is to create ridiculous criteria that doesn't even describe a good employee for your situation. Instead of being productive in a company, I'm off developing a me-too open source project just to even get a chance of getting hired to a decent position. This is infuriatingly frustrating from the point of view of someone who is a great developer but enjoys things other than programming.