You mention that there are Americans who also struggle but I fail to see how that’s an argument in favor of systematic underpaying of foreign workers who are bound to a single employer (modern day indentured servitude). It’s the job of the government to improve the lives of its citizens and to protect their jobs, not to help foreign nationals improve their lives or to help businesses boost their profits at the expense of American salaries.
I’m all for immigration and fair pay. I’ve done it myself. But I don’t want to have to live as you described if at all possible. And I prefer that if you are talented enough to make it to the USA then you should be able to profit equally like Americans.
If forcing companies to pay equal salaries for foreign nationals stops the inflow of H1Bs, then this means that there are Americans capable of filling the job market. It there’s still unmet need for talent, then foreign nationals will be brought in at fair salaries