What you can say about technology right now in USA, there are two large disjoint islands. There is the silicon valley kinds of "cool"/startup technology and then there is run of the mill "IT" for Bank/Insurance/Big-Non-IT technology. Outsourcers go after the latter kind and in fact can only go after the latter kind. Their premise is to hire really below average "Engineers" in India, and expect them to just learn the tricks of the trade to replace/take over another run-of-the mill IT job.
The point is, if your day job is just about maintaining/coding something mind numbing, with no real value add or just being a cog in the wheel in some Big-Co that has nothing to do with technology, you can expect someone to do your job much cheaper. Probably the quality will dip, but then the Big-Co hardly cares about its software right?
Whereas, if you look at the stuff being done in the "valley like" companies, you won't find those outsourced developers. You will still find smart Indians on H1, but then the non-linearity of their talent is at play. Although, I have seen valley companies outsource their QA (manual testing).
I think it is important that one keeps working hard on moving from the second island to the first, no matter who it is (American or otherwise). There is nothing new about this... we have seen this happen to manufacturing. It has happened to web design - Go to elance and you will find at least 20:1 ratio of some Indian firm to US firm. All of them compete at the low-end of the scale.
It is very hard to secure a comfortable life in that lower-end of the technology pipeline living here in USA.