I see part of the problem as a perception of honesty on the part of the companies requesting the H1-Bs.
ARE they truly in need of those H1-B positions or are they looking for lower cost solutions?
ARE the people that apply for the H1-B positions as capable as they sound or are they telling little fibs about their qualifications?
I suspect that there are indeed companies that need H1-Bs to fill positions and there are exceptionally well qualified H1-B applicants that fill them.
At the same time, all it takes is ONE example of a company shopping for lower cost labor to make people suspicious of the H1-B program. The same applies to unqualified applicants.
If YOU saw an example of H1-B cheating, corporate or personal, and you were an unemployed IT person with the proper qualifications, you might not consider eliminating the H1-B program to be employment protectionism.