When Columbus "discovered" America he was looking for an alternative sea-route to India from Europe (rather than going south around Africa). The native Americans were called Indians because Columbus thought he'd sailed his ship to India, and it stuck. Don't know where India got it's name though.
The name `India' is derived from the River Indus, the valleys around which were the home of the early settlers. The Aryan worshippers referred to the river Indus as the Sindhu. The Persian invaders converted it into Hindu. The name `Hindustan' combines Sindhu and Hindu and thus refers to the land of the Hindus. The other name `Bharata' is derived from the ancient Bharata Varsha, Land of the legendary king Bharat and his sons.