I strongly advise mixing and matching ---- i.e. one-way flights for the lengthier distances, trains for the shorter trips. My favorite airline in India is Kingfisher, and they offer one-ways from Mumbai to Ahmedabad for $55 all in, as an example. Regarding advance train planning from overseas, I strongly recommend
http://www.cleartrip.com/. I've successfully reserved, purchased and refunded train e-tickets at
http://www.irctc.co.in/, and recommend it highly. [none of my credit cards seemed to work successfully at cleartrip.]
One important caveat ---- while Kingfisher, a private India airline, is generally vastly superior in airport and inflight service to anything available in the U.S., Indian trains are not to everyone's liking. While Kingfisher has personnel awaiting your arrival outside the terminals, escorts to check-in and through security, inflight service that includes tasty hot meals on even the shortest of flights, and personnel at baggage retrieval anxious to be of help, Indian trains typically offer very little of this kind of customer service hand-holding. If you're likely to be at all squeamish about very crowded, and sometimes quite dirty, train stations, I'd emphasize the planes over the trains....