I fogli di stile diversi, uno per desktop e uno per mobile sono una buona soluzione da esplorare; la tecnica si chiama media query.
Ovviamente cambi solo il modo in cui i vari elementi della pagina sono visualizzati e non puoi invece sfruttare le caratteristiche proprie dei dispositivi mobile.
Lo scopo del rel="canonical" è un altro, inoltre considera che è un suggerimento per Google e non una direttiva. Senza considerare che fai fare al motore di ricerca un lavoro inutile e lungo.
Il modo migliore è bloccare tutto il dominio di terzo livello mandando nelle intestazioni http questa stringa:
X-Robots-Tag: noindex
Se non puoi farlo allora inserisci in tutte le pagine mobile questa riga:
<meta name="robots" content="noindex">
Valerio Notarfrancesco