I’ve seen both sides of this issue too. I think a large part of the problem is that American workers are less transient than immigrants. IT professionals, close friends, who have been under-employed since 2003 refuse to move from their beautiful country home in South Carolina while employers here in Seattle struggle to find qualified applicants.
Should we force companies to set up shop in rural areas? No, just as we shouldn’t force people to relocate for employment. It is a free market system.
Now as for the Disney example, that wasn’t a case of employees refusing to relocate. Everything I’ve read about the case indicates that Disney violated the H1B terms by hiring in employees at sub-par wages.
Fixed.
Disney didn't hire anyone. They outsourced their IT functions to a separate company, who then hired the H-1Bs. Disney could then fire their own workers, since there were no jobs for them, and no doubt the outsourcing company has a stack of documentation to show that they really, really tried to hire Americans for the positions but couldn't find any who were qualified. All nice and legal and within the laws governing H-1Bs. But the Disney people are still without jobs.