The main reason for india being so behind in olympics is the lack of preparation. and for this there r several reasons, the main being the lack of initiatives - initiatiives by the talented to get to the platform, initiatives by the govt to find the talented. It becomes the duty of the govt to do efforts to find the talent to be represented. china being the most gold medal winner has started the preparation for the next olympics immediately on the end of the last olympics, but india isn't learning anything from that. also india isn't learning anything from the mistakes made in the previous olympic games
Also, hockey, being the national game isn't given preference. Cricket is becoming popular and govt is rewarding those who have fetched titles for the country. This rewarding procedure may help govt be enlightened in public's eyes but on the other half, indian govt is doing no help to those talented to get any title.
In fact, government should launch talent hunt programs to get out the best talent out of billions of indians to be represented on the sports side. Rewarding the title owners is good, but title owners should be searched also.
Govt is spending a lot on those who have already got the titles, and if the govt spends a fractin of that money on searching for the talent, it can get to the top of the sports part of the world