So, what's the difference between a simple friendly abbreviation and a derogatory term which leads to a boycott of someone or a political problem?
Hi, Apple—Interesting question. Unlike many questions that get posed here, this one doesn't have a cut-and-dry answer. I'll give you my impression, though.
I think there are two key factors: whether the people to which a term refers call themselves by that same term, and how the term originated.
I'm pretty sure that British people are OK with being called Brits and that they even occasionally refer to themselves that way.
I believe the term "J***" in reference to Japanese people originated during World War II among American troops. Here's a clip from Pearl Harbor (2001).
Sometimes derogatory, racist epithets are not shorter than their non-derogatory equivalents. "Blacks" has only one syllable; "n*****s" has two.
Interestingly, Native Americans came to be known as Indians in America because Columbus had set sail for India when he "discovered America."