Yes, India should have performed way better. But this is not pathetic.
India has zero swimming culture. There aren't more than 4 Olympic size pools in New Delhi (capital of India), forget about the rest of India.
Most of India's population is landlocked and not a ocean facing population like China.
Have you ever heard of landlocked nations like Iran, Uzbekistan winning in swimming ?? People living in coastal areas (like China) always have an advantage here as they don't need infrastructure in swimming.
On the other major Asian game sport, Athletic:
India won 29 vs 39 medals for China. Despite loosing 7 Gold medals too African athletes from middle East.
Here are “7 athletic Gold medals lost by India in African Games”:
1) Men's 1500 m: Mohamad Al-Garni: Moroccon born Qatar athletic which beat India to a silver.
2) Men's 10,000m: Birhanu Balew: Ethiopian born Bahrain athlete which beat India to a silver.
3) Female 1500m: Winfred Yavi: Kenyan born Bahrain female which beat India to a silver.
4) Female 3000m: Winfred Yavi: Kenyan born Bahrain female which beat India to a silver.
5) Men4x400: 4 Nigerian born Bahrain males which beat India to a silver.
6) Men's 800m: Nigerian born Essa Ali Kazwani which beat India to a silver.
7) Men's 5000m: Birhanu Balew: Ethiopian born Bahrain athlete which beat India to a silver.
Rest of it is see-saw. India is winning in sports we play: Cricket, Kabaddi, Squash.
China is winning in sports it plays.