If the use of H1-B were limited to the stated purpose, finding elite specialists who are unavailable by offering a competitive wage in the US, it would be fine. But there is no way that using half of those visas to staff positions at contract shops could possibly fit the purported purpose.
This results in a rental pool of young workers who will work at low prices, and in poor conditions. The obvious results are depressed salaries, age discrimination, bad working conditions, depressed capital investment, deferred adoption of improved management practices, and shoddy results from people who are smart enough to know what role they play in this system.
The real need can be met by visas that are auctioned, with a fairly high minimum price, to companies like Google and Microsoft, who don't operate contract/consulting businesses, and who need access to the academic and industry elite from anyplace they might now be working.