Es lo de siempre... nadie tiene una receta. Creo que probaré lo de JavierB.
Yo antes usaba un script que obtenia los valores de la ventana del navegador y calculaba los centros horizontal y vertical. Con la función onresize recolocaba todo y para los navegadores que no tuvieran javascript o fueran antiguos, pues a mostrar sólo texto.
Pero ha llegado firefox y document.body.clientHeight devuelve 0

(el ancho lo devuelve bien)
Lo dicho, probaré el método JavierB

Saludos
dobeto