Displacement is a taxpayer funded externality. Companies are not entitled to taxpayer dollars just because theyre too cheap to hire american.
Green cards? Companies pay for these applications. The applicants pay taxes. For this particular group, they're notoriously net tax payers.
As for idleness, if you lose your job your lose your visa and–I think–your green-card application.
There are legitimate complaints about all of this. These aren't among them.