Una soluzione JS non mi pare molto utile, specie parlando di accessibilita`.
Se non ti interessa essere compatibile con il browser IE, ma ti interessa seguire le regole dell'accessibilita` dovresti usare gli alternate-stylesheet (vedi gli attributi del tag <style> o <link> ).
Una soluzione lato server sarebbe buona, ma devi usare le variabili di sessione e/o i cookies, e poi devi inventare qualcosa per rendere edotto l'utente sul fatto che puo` cambiare il CSS, e in linea di massima inserire il link (o quello che e`) in ogni pagina.
Come dire che la soluzione lato server non va bene per tutti, e in qualche caso potrebbe non essere molto usabile (ma dipende come e` stata impostata la pagina).
La mia personale preferenza rimane il layout liquido, ma anche questa soluzione none` applicabile in tutti i siti.