There are those who argue that the numbers involved are too small to worry about. What do a few thousand engineering jobs matter? These people simply don't know how thin the engineering talent is in many companies. Take 100 programmers out of any software company short of Microsoft or IBM ,and you've crippled some program and maybe the whole company. And the same is true for most of these other critical industries where big work is typically done by small teams.
Cringely's thesis is that oursourcing is economically efficient but locally harmful. Most economists would agree. He has a good point about how thin the engineering talent is in most companies.
Other than protectionism, what could the US do?
1. Strip benefits from employment, especially healthcare. This is a necessary part of healthcare reform.
2. Merge 401K, Roth IRA, and 529 plans as part of social security reform. Mandate contributions. Below a certain income level the government makes a separate contribution. One draws from the plans when not employed, including when retraining for a new position. There is no such thing as "retirement", merely fully employed and not fully employed. When the funds are exhausted a guaranteed annual income kicks in -- the replacement for "welfare". Shift taxation to consumption and a flat "citizenship" tax, since corporations will inevitably dodge taxes.