I've found myself using "American" when I specifically mean someone from the United States. In Spanish the word is estadounidense--literally, "United Statesian." Is there no word like that in English? The word "American" is taken for granted as meaning "a citizen of the U.S.," although it's only third in Merriam-Webster's list of definitions. (Yes, Virginia, people from Central and South America are "Americans" too.)
"North American" doesn't work because I don't want to implicate any Canadians. "Anglo-American"? No, that won't work either. I'm sure someone somewhere must've come up with something better... Any ideas?
This is about more than linguistic hair-splitting. As Mark Twain said, "The difference between the right word and the almost right word is the difference between lightning and the lightning bug."