The truth is that migration from worse places to better places has existed as long as humans have, and it is like a natural force, relentless and unstoppable. And it must be kept in mind that a large part of the reason why things in the United States are so much better than they are in, say Mexico and Central America, is because our country has spent well over a century keeping them that way, what with overthrowing legally elected governments and replacing them with vicious dictators who will do what is necessary to keep wages low in their own countries, collaborating with drug gangs and other disreputable forces, and openly crushing the economies of any country (I'm thinking particularly of Venezuela and Cuba here, and now apparently Brazil too, but there are others) that dares put the interests of its own citizens ahead of American business.
So, migrants and refugees are going to keep coming here, and nothing can stop them. The pressure on them to come, and consequently the number we have to deal with, is directly proportional to the difference in standards of living between here and there, wherever "there" happens to be at the moment.
There is an obvious answer to this problem, if you consider it a problem, and it is one that benefits the would-be migrants, and American workers just as well. I have been maintaining for a couple of decades now that it is an obvious fact that Americans are going to either see foreign wages come up to our own, or see ours go down to those of someone living in a tin shack next to an open sewer in Jakarta or Lagos. It is time that we decide which of those alternatives is more appealing to us, and work to bring it about. Yes, it will be bad for the mega-corporations, and the Wal-Marts of this country, but it would be good for every one of the rest of us. So, this is my proposal: If we want real security in this country, we should take about a third of our military budget and use it to promote unions in third world countries (and we might spend a little of it undoing the damage done by the corrupt Republican party to unions right here.) Because, every dollar that gets added to third world wages means that a certain number of people will be able to stay in their homelands, and not have to wander thousands of miles to avoid poverty. And, the more we drive their wages up, the less sense it will make for American companies to virtually enslave them to make a profit off of us. Raising third world wages is an almost unique example of where caring about other people will do us as much good as it will do them. Of course, don't hold your breath until that happens.
Now a corrolary of this proposal: Companies that intend to make a profit by selling their goods in the United States must not be allowed to astronomically increase that profit by victimizing people in other countries. There must be penalties on goods imported to the U.S. that are manufactured in countries with abominable labor and environmental practices. These penalties must be large enough to cancel out the extra money they make through these despicable practices, thus guaranteeing an equal playing field for all, regardless if their goods are made here, or in dictatorships with grossly repressive labor laws.
Building a better world this way will build a better America too, and that's great for everyone except a few thousand sociopathic rich guys, and who cares what they want, anyway?