Let me be clear - “Not all Indian Developers are bad”.
The reason why quality of engineers at Infy, wipro, tcs etc. is so bad is because of their recruitment process. They recruit engineers from various colleges like herd of sheeps and call it mass recruitment. Irrespective of the his specialisation (Mechanical, Electronics or Chemical etc.) Students practice code for a day and so go for interview and unfortunately many get recruited. Then there is one year of Training. After training these engineers get into software development. Imagine a student who never wrote a line of code in his entire life suddenly has become a developer. Indian college and companies need to change how they recruit students.
There's a difference between writing something that compiles and being able to write code properly.
The "throw enough cheap coders" at the problem will work really well, until it doesn't, and at that point you have nothing but an expensive mess that needs to be rebuilt from the ground up.
If you don't have a good foundation, you're screwing the project in the long run, and this is the result of every offshoring programming project I've witnessed.