I favor focusing on the employer side of the equation. If you focus on the employee side, by deporting illegal workers, you simply create a job vacancy that will very quickly draw another illegal worker. The more illegal workers you deport, the more job vacancies for illegal workers, the higher their wages rise, and the higher the incentive to immigrate illegally, until enough have come in to restore equilibrium. It's always going to be a losing approach. Those who come here have too little to lose to be deterred. Focusing on the employer side, on the other hand, has promise. Employers have a lot to lose. Throw a few illegal employers behind bars and fine others enough to make the strategy unprofitable, and people will stop offering jobs to undocumented workers. And once those jobs dry up, there will be vastly less incentive to immigrate illegally.
I'm more hostile to H-1B visas than to amnesty. The way I see it, most of those who would benefit from amnesty are very low-end workers. If you're the kind of worker who is going to be displaced or have your wages driven down by competition from a poor migrant worker who barely speaks the language and has all the disadvantages of not knowing the culture, then maybe it's time you thought about upgrading your skills a bit. By comparison, H-1B visas displace workers or drive down their wages at the high end of the scale. These are people who did all the things you're "supposed" to do: they invested in higher education, developed in-demand skills, and built up a solid work record, yet despite all that, they find themselves getting paid less and less as companies are allowed to pull in cheap competition from places where people aren't burdened with student loan debt, etc.
I can see a decent way to have a "guest worker" program where low-skill workers come in and do the kinds of scrub work that would be a waste of the skills of someone with a first-world education, native English fluency, etc. They can be domestic workers, low-skill manufacturing workers, etc. Often they won't displace anybody, because they'll be doing work (like landscaping or professional housekeeping) that most people wouldn't have done if there weren't immigrants making it affordable for the middle class. They'll simply improve the quality of life of native residents, while also making much better money than they could if they hadn't come here. In fact, often if they displace anybody, it'll be someone in the third world -- for example, by allowing a manufacturing operation to stay open in the US, thanks to the low costs of immigrant labor, rather than moving operations to India or China, where they can use low-cost local labor.
And if they keep their noses clean, there could be a way to transition them into citizenship after a time. I prefer that approach, of bringing in the "huddled masses" to fill the bottom rungs of the ladder, pushing native residents higher on the ladder, as opposed to bringing in foreign engineers and doctors to take high positions on the ladder, pushing everyone else down.