I don't buy that argument at all. A senior engineer at a CS firm in Omaha Nebraska is probably making less money than a mid-level engineer in San Francisco. The flat dollar amount of salaries are determined by the cost of living in that area - it costs more to live in SF or NYC than it does to live in the midwest. As such, the cost of doing business there is substantially higher.
The same applies to international workers. The question to ask is "What is the buying power of the salary provided". If a senior level engineer in India is making the same salary as a junior level engineer in the US, you might think they're getting paid less. From a payroll perspective they are. But the buying power of that quantity of money in India is substantially greater - in fact, the overall quality of living for someone collecting 65k per year in India is going to be much higher than someone collecting twice that in the US.
Outsourcing shouldn't be defined based on salary. Whether or not a job is outsourced should be defined on this simple question - Is the job in the other country a new job, or was it a position that previously existed elsewhere that was relocated without the prior occupant? In other words, did someone in the US lose their jobs so that jobs in India could open? If not, then its simply global expansion. Take for instance Microsoft - Microsoft has been hiring like crazy in India, China and Ireland. No one in the US is losing their job for these positions though, so no job is being outsourced. An international company is simply growing in international locations. IBM on the other hand laid off a substantial number of engineers in the US, and hired a large number of Indian programmers to fill the positions priorly held by Americans. Those jobs were outsourced.