Pues la verdad es que te estás complicando mucho, además de que sólo estará centrado en tu pantalla si lo haces así.
Para centrar algo horizontalmente, puedes usar:
en un elemento de bloque.
Ponerle los márgenes así a
body
no creo que sea buena idea.