I agree on the intent for the H1-B visa, no issues there. That does not mean that immigrants should be barred or Americans always chosen over the immigrant. The selection should happen based on their competency - if I'm a better candidate than any US candidate, I should get the job. Picking an immigrants over an American candidate because the immigrant is cheaper is the problem - although even here its not as black and white as you would want to.
Now as far as H4 vida holders, you are completely wrong and misunderstanding the issue. Sure, there are tons of MBA holders who cant find jobs. Does that mean she should not even be allowed to compete for any of the available jobs, even she might be more qualified for it? Or she might not be, who knows, this is why you have a free market, the employer can decide.
And the tech giants have equal salary levels associated with the peoples titles and experience. The whole thing about paying immigrants less is just utter bs. I'm in a senior position in my company, I see all the candidates coming through for engineering and the amount of available great engineering talent is very very low - and this is not a unique issue to the US. There is a reason why the tech giants are throwing stacks of money at these people. Its also the reason why I was brought in on a H1-B visa.
All in all I agree with fixing the issue of salary dumping via H1-B outsourcing, but barring actual talented immigrants, while following the rules of the visa process, seems beyond dumb. You WANT to bring in talented people, it raises the overall talent level of the whole pool as a whole, and having dumb restrictions making their lives more difficult (such as H4 work permit rules) makes little sense.
As opposed to not having the talent brought in lowering the overall level of the whole pool because of arbitrary rules.
I get paid as you, I pay taxes just like you, I contribute to the society and economics just like you. Yet you seem to be determined that me being here is a bad thing. Ridiculous.