Are there grammatical etiquette guidelines as to whether to refer to a person from Great Britain as a British person or an English person? Is referring to a person as a Brit insulting, even if no insult was intended?
The Brits call themselves Brits.
It's just an abbreviation, not a derogatory term.
You could avoid it if being formal, but in everyday conversation it's fine.
You could further sub-divide into English, Scottish [or Scots... never scotch, that's a drink not a person] & Welsh, but you'd need to be certain which they actually were.
It's easier not to guess & just refer to them as British.
Grammatically, it's not incorrect if we say a British person or an English person, but such phrases seem a bit awkward. I think it's common and natural if we just say "He is British" if he is from Britain. However, we can say "the British" to mean people from Britain. If a person is from England, the usual word is Englishman.
Scots and the Welsh and the Northern Irish are not English, but they are British. Ironically, the Cornish are English but Cornish is not English.:-)