> since their visa is contingent upon them willing to work for you
Which is part of the problem. Why can't a visa holder just say screw you to these companies and go out and get a new job without a huge amount of risk and stress.
The good ones mostly do and switch to their client companies so effectively a large portion of the TCS/Wipro/Infosys cadre end up at the right places that pay the most. The bad ones suck it up and stick around. So the offshore companies purposely don't hire the best ones.