I have lived in india and US in the past and I can say that European and Chienese race of people are taller and more well built than the Indian race. Also Indian food is not very nutritious, especially vegetarian food. I think this is the primary reason why India cannot produce athletes or even soccer players, Cricket is ideal for India, a mind game and Indians are certainly not below average in brain power.
Let us not let national pride be dictated by Olympic tally, thats lame