We've created a catch-22 system for those who enforce immigration rules. We tell them that they have to stop the influx of undocumented aliens. But we get upset when they question people who look like they could be from some other country.
With this kind of system we end up with countless incidents such as that of the US-born Hispanic truck driver who was recently held by immigration officials until he came up with a birth certificate.
One possible solution, which would be more fair to all, is a national identification card which communicates citizenship or legal standing. (Driver licenses and social security cards do not establish citizenship.) If every adult, regardless of race or ethnicity, were expected to carry and provide such documentation at check points then we'd avoid a lot of the discrimination issues.
Of course, conservatives have with good reason traditionally resisted this idea. Many people feel that allowing the government to track their movement with such a system would be unconstitutional --or at least dangerously close to being so. But there could be checks and balances built into the system. There are other countries which have tackled this issue.
The wallet-size US Passport Card is a step that direction but it is over-priced (IMHO) and voluntary. (Note that it is only good at the land border crossings or sea ports-of-entry. For some reason it doesn't work for cross-border air travel.)