The H1-B visa program should be more restricted and more monitored. The employers' claims they can't find qualified citizens should be verified.
I used to work for a huge multi-national American corporation. The Vice President over IT one day started replacing the US citizen software engineers with Indians. Note he was > replacing < existing employees with non-citizens. It was NOT a matter of being unable to find qualified Americans, and nearly all of the US citizens in the IT department were replaced. The VP was doing that because the company could hire two or even three Indians for the cost of one American. The VP also gave himself a huge bonus for "saving the company money".
Note using the H1B visa program "to save the company money" is ILLEGAL.
The Indians all miraculously had PhDs from Indian universities in IT fields plus at least 10 years of professional experience - despite most of them being in their 20s. In reality, they had the equivalent of - at most - an Associate's degree in computer science from a community college.
Problems occurred immediately, and the company's IT systems began to fail. That included functions like payroll. The company's response was to hire more & more Indians. After all, the VP's idea just couldn't be a bad idea, could it? By the time I left, the company had hired several Indians to do the job of each American they replaced AND had to hire a team of qualified Americans to continuously undo all the damage the Indians were doing.