Agree that clear communication is an important fact and that is precisely the reason why the Indian companies appoint an account manager for each client, typically an MBA or a senior engineer with multiple prior project experience. He is usually the guy responsible for requirement gathering and project execution. I have worked with several Indian IT vendors (I work for an all American company btw) and usually they tend to me much more friendly to work with my team out here compared to local outsourcing vendors here in the US.
We as a global company like flexibility and that is something the Indian outsourcing companies are willing to provide us. And it does not matter if they bill me $20 less an hour, I would be more than happy to work with any other NA company if he gives me this flexibility. I never had an issue in communication and management skills with any of my vendors.
From your account it looks like either you have a pre-conceived notion about outsourcing or have been burned by a bad outsourcing deal. You have to be careful in negotiations and due diligence... if you don't do your homework properly, you are bound to get hurt... it doesn't matter whether the vendor is local or half way across the globe.
And btw... I have also worked with a small outsourcing company in Karachi as well and I have similar opinions about outsourcing to Pakistan as I have for an Indian company.... Chinese outsourcing companies are a different animal to deal with though.