Die Alternative wäre, die manuelle Sprachauswahl ausschließlich durch 'link[@rel="alternate"]'-Elemente im 'head' zu realisieren und diese per CSS anzeigen zu lassen. Allerdings scheitert dies an IrgendEinem Browser, der sich weigert, Elemente aus dem 'head' im Viewport darzustellen.
Eine weitere Alternative wäre ggf. ein schlaues JavaScript welches die Elemente aus dem head zerlegt und im body einbaut um dort als Sprachwechsler dargestellt zu werden ;) - dann klappts auch im IE ohne per Hand redundanzen zu erzeugen.