Well, will great programmers line up at the "great programmers" H1B line? Probably not. Will the government screen applicants in order to increase the concentration of "great programmers"? Hah. There are no means available to us to increase the concentration of great programmers in a pool of programmers without great cost, and this inevitably means that in order to get more great programmers, one has to go through more programmers.
Why can't programmers work as contractors from their location before filing for their H1B's? Yes, hiring process has to change. The companies those who have distributed teams have figured this out already.
The problem is that it's extremely difficult to identify whether someone will excel at a job just through an interview. Even if someone really impresses everyone during the interview phase, it's totally possible that once they get hired they'll hate whatever you have them do and just do a mediocre job at it.