India is a democracy. There are natural and artificial limitations on natural resources exploitation. And lets keep it like that. Russia and Canada are geographically big, but cannot even match the headcounts of a medium sized Indian city / state. They are not competition. Canada depends on immigrants. Their biggest export other than oil is tasty maple syrup. Russia is a basket case. Their biggest export in 21st century - other than oil - seems to be Krokodil.
China exports hardware. India exports software.
There is no country which can match Chinese hardware / manufacturing base in scale and ambition. There might be niches in certain industries, but overall China is unbeatable.
India is the software powerhouse. Your gripe about call centers, pronunciations of Indians, poor quality of software code miss the big picture. The big picture is simply the fact India is a predominantly young country, with a huge English speaking computer literate population. Every Indian city and town have billboards shouting words like Java or .NET. The effect of this blanketing should not be overlooked. The world NEED programmers, and India will provide the numbers. There is no company similar to Infosys, TCS or Wipro anywhere else in this planet. Any complaint about the quality of programmers are moot...if you have 10 American programmers, you will find 2 good ones, 4 okay, and the rest mediocre. This is the same with Indians. The number of programmers are high, so the number of mediocre programmers are also high increasing the perception "Indians are horrible". Bullshit!!! Some of the best positions in the world of software are held by Indians. Look at the number of Indians occupying top spot at Google.
Both India and China countries US to remain stable and strong as its their biggest market. No American or European will plan on dumping Chinese hardware for Indian hardware. Likewise no-one will dump Indian software for Chinese or Brazilian.