In anthropology class, we usually refered to them as Amerinds (sic) or by the specific linguistic or subculture they represent, ie., Iroquoans, Algonquins, etc. In history texts, various names are used depending on period and the need for academics to employ multiple synonyms and political correctness.
Personally, I use "Indian" for earlier periods and "Native American" for modern people.
The controversy today is of course, mainly sports teams. Native Americans appear to be insulted by virtually any cultural reference - like they own the copyright. Again, my personal opinion is that something like the Washington Redskins is certainly insulting and racist and should be changed, while the Atlanta Braves is not.
The Cleveland Indians are harmless, but Chief Wahoo - the Sambo cartoon character for the Tribe is quite insulting.
What is the difference between the Fighting Illinis and the Fighting Irish? The Cleveland Indians and the Dallas Cowboys? We name our sports teams after peoples (Spartans, Trojans, Hurons), animals (Lions, Tigers, Eagles), or things (Hurricanes, Jets, Astros) that we associate with power, fighting prowess, competitiveness or victory. We, as fans, are proud of our teams. Native Americans apparently believe we are laughing at them and it's a big conspiracy to insult them.