Honest question: if immigrants are willing to do the same job for less money, why do US citizens deserve special treatment and higher wages? Why should companies be forced to not hire in an economically optimal way?
As to "deserve", American citizens also paid the taxes that supplied the infrastructure, education system, legal system, police, etc that allows these companies to grow. That aside, America is a sovereign country, and no one but its citizens has any right to expect it to act in their interest.