Simple solution - auction off the H1B visas. This will ensure only the most needed, highest-value employees get it. Works with any number of visas. I fail to see why this easy, simple fix that also earns money for the government is not applied.
What about academics and non-profits?