Solution 1:

The reason why Canuck could be perceived as offensive is because it is a slang term for a nationality.

But as you know there are many sports in which Canadian teams have elected to call themselves the "Canucks". The most famous is the Vancouver Hockey team but the rugby national team is also called the Canucks.

Since sport is very much an activity based on group pride, Canuck is probably not an insult.

It's all a matter of circumstances, context and tone. I don't mind being addressed at as Froggy as long as it's not used in an offensive way or in a formal occasion.

Solution 2:

Like any other "possibly derogatory" expression - it's up to the person you meet if he/she finds it offensive. It doesn't come down to grammar and use as much, but more to the feelings and background of the receiver.

You will come across words that people find offensive, and then you know not to use that word again in the same situation. No rules since there are feelings involved - and there are no rules on feelings.

Solution 3:

I'm Canadian, and I don't think of the word Canuck as offensive and don't know of anyone who does think so. I haven't surveyed the population, however.

It is perfectly possible to offend someone by calling them a Canuck or Canadian (or any nationality, in fact) if you simultaneously equate that nationality with something offensive. In that sense you'd be insulting the entire nation generally, and the person in question specifically, for being a member of that nation. But I don't think that's intrinsic to the word Canuck.

Solution 4:

Sometimes it matters if the user of the word is a member of the group described. I would think "Canuck" used by one Canadian of another might be perceived as less offensive than the same word used by a non-Canadian. I know that, since I am Caucasian, I am pretty much forbidden "the n-word" when speaking of certain non-Caucasians, whereas those same non-Caucasians make freer use of the word when speaking among themselves.