According to the A&A.org previews, naval and air bases can be built anywhere.
I think Hainin is a fine choice because, like you said, it’s midway between Japan and India (if one uses naval bases). Also, I think using an island airbase as a “super carrier” will be a very popular tactic because it makes a sea zone nearly impregnable.
I was looking at Java as a base that could be used to pressure both India and Australia (with multiple sea routes to each) but the Hainan setup also allows or landings in Northern Territory. The downside to Hainan is that the Allies can put down blockers to prevent rushes into India/Australia, but I think the plan will be to take the Dutch islands and then push toward a city. Maybe a Java AB and/or NB would be of use at that point.