Speaking as someone who's thought a lot about this (mostly during my psychology studies), here's what I would do, if someone let me.
1) Establish the competencies of your employees. Think small programming exercises, IQ tests, personality tests etc. Use this to establish a minimum score for hiring.
2) Apply these same tests to all prospective employees.
3) Of all the candidates that meet the minimum criteria, hire a random set of them.
4) Follow up the progress of all these employees over 1-2 years.
Now, this would never fly in many legal senses, and I doubt that anyone will ever let me do it, but it would provide useful data to improve hiring processes. I suspect that this would need to be done for each individual company at least 100+ times before you would start to be able to derive useful patterns.
Some hypotheses:
1) non linear relationship between IQ and performance
2) Increasing performance and longetivity of employment based on the similarity between personality of candidate and personality of team.
Just my 0.02c.