For me, it's not about not having ties to the country, it's about colonialism. India started gaining popularity in the West as a name during the British Raj. It was considered posh for upper-class families with economic ties to India to name their daughters after the country. The British ruled purely for economic interest, and their occupation was marred by violence and racism. As beautiful as the name sounds, that's a very uncomfortable history to be associated with- to me, it's just as bad as Cohen.
I, too, agree with your in-laws. The British colonialism in India gives it a very racist and imperialistic feel on a white child, sorry.
I don't like to get all post-colonial on people, but I have to agree that India is a poor choice in today's world. It is a lovely sounding name, but maybe honor your MILs instincts, if not her poor taste, and steer clear! I lived in India and my husband is from India, and most people there would be confused (though not really insulted, I think, but they might be!) by a little girl named India. They would mostly just think, "Why?"
I know a girl named Indra, which is a male Hindu god, and another girl named Siva, also a male god, and my husband just found that weird when he heard them. Just weird! But also a little stupid on the part of the parents. "Don't you at least look up the meaning or history of the name?" That was basically my husband's response. We have not met an India yet, but it would definitely surprise him! And most Indians, while proud to be from India, are well aware that the name "India" is a relic of the British and nothing to do with them or their languages except as a rough approximation of Indus and Hindu. Most Indian cities and states, since Independence, have dropped their Anglo spellings and reverted to local spellings and names as well Bombay>Mumbai Calcutta>Kolkatta Madras>Chennai Bangalore>Bengaluru
Also, there is a lovely Indian name, Indira, which was the name of the first - though highly controversial - female Prime Minister of India, that sounds very similar. It means "beauty, splendor" and is a classic Sanskrit name.
Also, I have to recommend as an alternative for Margaret, which I do love, a favorite name and my grandmother's middle name, Marguerite! She could still be Maggie, but she'd have a lovely French daisy of a name.
Another random piece of advice! My sister and BIL never told anyone in the family, or even friends, their name ideas when picking names. I recommend that! She said very plainly that it was the parents' choice and we would all have to love whatever they picked. I am glad they did because it let the choice truly be theirs as it should be! In Hindu culture, they wait till about the third month to name the kid and never speak the name before the naming ceremony. It's to keep evil spirits away! Your MIL might be one, so watch out! :)
India is pretty, but I like Margaret Corrine better. I don't think Margaret is boring - she'll almost certainly be the only one in her class (among the sea of Sophia's, Olivia's etc...) and Maggie is just the cutest!