All H1-B visa requests should go into a pool and from that entries should be selected in descending order from the highest wages. Then the companies that are seriously trying to bring someone in that they really can't get would get the people they need. I have seen companies try to bring a single person in and where offering a LOT for the job but never won the lottery for the H1-B slot.
This seems like it would almost entirely address the current problems of H1-B being used to drive wages down. It is hard to drive wages down when the slots are essentially auctioned.
There are companies outside of the tech companies that do pull in highly qualified people with H1-B and don't screw their workers over.
I am sick and tired of the system being abused to lower wages and treat people like servants as so many of the tech companies do. Most of them where even involved in agreements with each other in silicon valley to drive wages down. The system needs to be fundamentally fixed and the companies abusing it needed to be fined MORE than what the H1-B system abuse saved them.