I agree that giving the visas to the highest paid workers is a good idea. Like it or not, we use salary as a proxy for worker value, and given a limited number you want to allow in the most valuable workers. It also helps solve the Tata problem. Other companies can pay more to import workers as consultants must have an up-charge over their salaries. This means that other companies that want to import permanent workers can easily outbid the the consultancies. Also, if India really is degree mills (and I don't know if that's the case or if they just have a lot of IT graduates), then companies can pay more for non-Indians and are guaranteed the H1-B slot vs a lottery.