I don't think fertile land has any relationship to larger population. Come on people, most of these countries were never educated like the today's Europe with 90%+ educated population.
India:
In my opinion there are various reasons for large population in India such as
1) literacy - People had least knowledge about condoms and other protectives. Moroever, the ruthless behaviour of South Asian communities. They wouldn't even allow women to take pills that may temporarily halt the production of babies after having a baby.
2) Poverty - People didn't have a job so they have plenty of spare time. So for time pass, you know what I mean
3) Religion - Many religions such as many "some" Muslim families would propagate/advocate that having large families is a matter of reward and it is God's wish to bestow you with his mercy and you cannot stop making babies.
4) Being one of the oldest countries in the world. Remember Indian Valley Civilisation? When there was no Europe.
China:
1) First thing you have to keep in mind is China is a large country. It is approximately three times as big as India. If you notice the old Indian subcontinent where Pakistan and Bangladesh being part of India. It might already be larger than China despite being half the size of China. If you notice China's population density is 80th in the world as compared to India's 33rd, Bangladesh's 12th, Maldives 11th and Pakistan's 59th. China's population is ok when you see it's large size.
List of countries by population density - Simple English Wikipedia, the free encyclopedia
Now the point is, China's population was ever growing. It had Qing, Yuan, Mind, Tang and Han dynasties when the world didn't know even know Europe exists in the map.
USA was only discovered few centuries ago whereas China has a known history of thousands of years, hence justifying the reason of their large population.