I am probably alone in this thinking here on this site, but I think our existing laws are decidedly too anti-immigrant, and that has contributed to the problem. Now, now. Here me out.
If we go back to the 1950's and 60's when we didn't have a welfare state, and people could come and go as they pleased, there really was no problem. People came up to pick fruit or whatever, and when the work was done they went back. But then we made social welfare and unemployment available, so there was an economic incentive to just stay and do the seasonal work and collect unemployment the rest of the year. The increase in border security also became a deterrent to coming and going. It was easier to just move the family over once and be done with it.
The whole problem is caused by the economic divide between the US and Mexico. Increasing border security and keeping migrant workers out will only widen the gap between the two countries. We are both better off by allowing their workers in. We get cheap labor to produce more affordable products, and they get much needed capital to improve their economy. Free trade is always a win/win in the long run, and far better than erecting barriers, which only empowers government and special interest groups.
I propose that we loosen up our laws and let anyone in who is qualified and wants to work, but strictly enforce the law insofar as qualifying for public assistance and other benefits, which should be a prerogative of citizenship. If it were up to me, this would include voting and access to public education. The end result would be a robust exchange of labor between our two countries with the hope of creating a future common market. It would also check states and especially the federal government from becoming too socialistic, whereas increasing border security only incentivizes socialism.
In the end, we'd have a more secure border because most people would be coming through routinely, and our security apparatus could focus on those who are truly a security threat.