If one look at it in that context, H1Bs and outsourcing is really not the cause of lowered rate, maybe a contributing factor, but the cause of the lowered rate for programmers is really simply reflecting what the market is willing or able to pay - and the H1Bs and outsourced shops just filled the demand for lower pay scale faster than the previously better paid American programmers - and if the better paid American believes he has superior value and should be paid more - but the market is not willing or able to pay for the added value, it in fact has no value, so the better paid American programmer has to either work for lower pay or be out of a job to someone who is - but that's a function of the market, not the fault of that someone who is willing to work for the lower rate.
That is, the rate is primarily driven by what the market is willing and able to pay, not what someone is willing to work for - the market sets what it's willing to pay before the worker respond by willing to (or not, as the case may be) work for the market set rate.
So maybe it's a fallacy that the H1Bs and outcource shops are taking away the jobs from Americans - it's really just the market has now set a lowered rate for the job and H1Bs and outsourcing were faster and more willing to react and adjust to the lowered market rate. The H1Bs didn't set the lower rate, the market did, the H1Bs and outsourcing just filled in the new demand for the lower rate when others mnay have initially balked.
If the rate is set primarly by what the market can pay, even without H1Bs and outsoruced shops, the rate will still be lower because the market is only willing or able to pay a lower rate - and if the current workers can't or aren't willing to adjust to the lowered rate - they'd still be out of a job because even without the H1Bs and outsource shops, companies still can't afford to pay the higher rate - with or without H1Bs and outsourcing, the recession would still have meant job cuts and lowered salary - in fact, probably even higher unemployment rate because if existing workers won't work for the lowered rate and the H1Bs and outsorucing didn't exist to fill in the lower rate work, more projects and products and companies just won't get funded, period.
There are no H1Bs airline pilots - so if the comapny say they can't pay pilots 160K a year and the pilot insist on still getting 160K per year, the company goes into bankruptcy and the pilots are still out of a job.