One of Megan McArdle's readers wonders why India, which in population is larger than any other country save China, has so few Olympic medalists. I think the answer is fairly easy: wealth.
It's a situation very parallel to the Italian Renaissance. Then, the issue was the proliferation of so many great artists rather than athletes, but the fundamentals were fairly similar. For a society to be able to give up its strongest and most talented youth to non-productive (meaning they don't contribute to food, clothing, or shelter) occupations like painting or competitive swimming requires a lot of wealth and leisure time. Subsistence farmers can't give up a strong back from the fields, much less pay any kind of specialized training costs. The explosion of artists in the Italian Renaissance was made possible
by an explosion of wealth in the great Italian city-states of Florence
and Venice and the like. Further, wealth also means better neo-natal care and better childhood nutrition which leads to bigger and stronger adults.
As with Renaissance painters, modern Olympic athletes need either a family that is wealthy enough to give up their labor and support him or her; or, they need a wealthy patron; or, they need support of the government. US Olympic athletes generally have some of all three, though the role of the government is smaller than in other nations thanks to corporate patrons and the relative wealth of the American middle class. China, and before it Russia, were successful because, lacking the first two, they had the government shoulder the entire burden. India has chosen not to go the government route, which is fine. It will have its successes in time, as the exploding middle class will raise kids who have the time and money to pursue excellence in various sports.