TheOptimizationIdiot - 3:09 pm on Feb 26, 2013 (gmt 0)
Well, I have no clue which video it is (I think it's a couple) when MC talks about adding rel=canonical to his school webpage he said he's go there and put rel=canonical on it in place of a 301 redirect. He didn't say he'd "just put it on his blog" and that would take care of it.
So, when I think about using it in your situation like he described I would pick the two alternate versions I would 301 if I could (but can't cause then the alternate is useless) and put rel=canonical on those to point to the preferred version of that set of alternates.
Then I'd do the same thing with the set of exact duplicates created by the affiliate parameters for the language variations, meaning I'd put rel=canonical on the page(s) with the parameters in the URL pointing to the version without the parameters, cause I can't use a 301 again or the pages with the parameters are useless.
I think it makes way more sense that way actually, cause anyone can "slap rel=canonical on any page" and try to say "this is the preferred version" but there's no way in my opinion that would "carry as much weight" as Page B pointing to Page A as the canonical version and basically saying "show that one instead of this one" like a 301 would if it could be used.