*sighs* Bien Phenfix, vamos por partes.
El validador de CSS es un programa, no es nada más que un programa que te dice si tu sintaxis está bien, NADA MAS. Que tu css valide no significa que tu div contenedor se quede en el centro, o que el texto salga de color rojo.
Que el css valide significa que estás siguiendo al pie de la letra la sintaxis, ahorrando ligeros errores de tipografia (al escribir), nada más.
Por otro lado, si vivieramos en un mundo ideal, o al menos un internet ideal, todos los navegadores respetarian los estándares, todos renderizarian una página igual y todos viviriamos felices creando 1 sola versión del sitio web. ¡Pero no! Esta es la realidad, ningún
trabajo es sencillo, ni facil, y ninguno se abstiene de dificultades, la web es una.
Cada navegador tiene una forma diferente de mostrarte una página, asi que es imposible que porque el css valide se muestre igual. Cada uno de estos navegadores se basan en estándares para mostrar y renderear una página, más no pueden cumplir todos los estándares, es costoso, es trabajoso y es doloroso (ellos también deben comer, dormir, y trabajar).
Asi que si tu quieres centrar un div contenedor tienes que hacerlo asi. Eso sigue siendo estándar, pero existen navegadores a los cuales también debemos respetar, y soportar (de dar soporte).
Código :
body { text-align:center; }
div#contenedor { width:100px; margin:0 auto; }
PD: Los hacks no son malos, que un desarrollador con poco conocimiento le pueda darle un uso es diferente.