TheOptimizationIdiot - 10:58 pm on Feb 25, 2013 (gmt 0)
Ok final answer (so far): Cover all the bases.
A.) Run the alternate on the language variations like Google indicates.
rel=”alternate” hreflang=”es” href=“example.com/es/page.html"
rel=”alternate” hreflang=”fr” href=“example.com/fr/page.html"
B.) Run the canonical the way it's described to be used by Google, meaning "point it" to the "preferred version" of the 3 language variations.
/es/page.html == rel="canonical" href="/en/page.html"
C.) Run a canonical on the language variations with the extra affiliate URL parameters that points to the "preferred version" of the page without the affiliate parameters.
/es/page.html?affID=some-stuff == rel="canonical" href="/es/page.html"
D.) Noindex anything with an affiliate parameter.
/es/page.html?affID=some-stuff == meta name="robots" content="noindex"
E.) Set the additional affiliate parameters to be ignored in WTM.
I don't think there's a much more clear way of saying: There are 3 alternate versions of a page. The preferred version of the alternates is "the language of your preferred version". These other pages with the affiliate parameters are not for ranking purposes. They're for something else so only index and rank the version of the page without the parameters.