Earlier quoted context omitted.
In my opinion, the real fix is to make the H-1B 'lottery' into an auction. Instead of accepting 65,000 H-1Bs at random--accept the 65,000 H-1Bs with the highest wages. That way we are getting the immigrants with the highest valued skills and stopping companies like Cognizant and Infosys that game the immigration system by applying for the cheapest H-1Bs possible.
What is special about the number 65,000? Absolutely nothing. It's central planning for something that doesn't require it: http://johnhcochrane.blogspot.com/2014/06/the-optimal-number...
Once you remove the "indentured" part from H1-B's, we'll never hit the cap again.