Lots of debate going on here, I know this boils down to hire a local if they exist, versus someone who will accept a sub-maximal rate due to getting extra value from coming to the USA, or extending a visa, or the sunken cost of already being here and not wanting to leave.
IMO companies should just say "fine we'll hire off shore contractors who pay nothing in taxes then."