Given the amount of time you have and the areas you want to cover seems like flying makes more sense (except of the very short routes, like Delhi-Agra, of course).
As far as booking flights, I use
http://www.makemytrip.com. They cover most airlines and I've booked with US credit cards w/o any problems. They also have a reasonably responsive email customer service.