Outsourcing is an insidious business practice that is slightly better than a World War with all the factions of the 2.5th and 3rd world who could otherwise afford bombs but not lawn flamingos.

In other words, we're fucked either way.

I think the only way to tackle the 'problem' sustainably is in the educational domain, wherein a few small improvements (taking a cue from http://www.livejournal.com/~neutopian/64468.html) on both ends could produce a 'workforce' at least as relevant to 'American problems' as India is.

On the CS (and pure math) end of things, when your introductory profs are convinced MS is the world, and have no conception of Dijkstra's "teaching how to think,"* it's no wonder most of the 'coders' churned out are expensive wastes of management time, no matter what your continent.

*I used to think of Dijkstra as just another ivory-tower academic jackass before I actually flipped through some of his work. Maybe I'm being charitable, but I'd say "how to think" encompasses both knowing how to wield the wrench and knowing the wrench isn't the solution itself.

Then again, maybe I'm a neurotic bastard with a track record of picking schools that couldn't teach and the ability to find more than enough other excuses when they could. (Ever have a roomie who liked to take out credit cards in his fellow roomies' names?)