Buenas!
Para centrar todo el contenido de una web yo hago lo siguiente:
Código:
<div class="maincontent">
<!-- aqui todo el resto-->
</div>
Y en el css:
Código:
.maincontent{margin-right: auto;margin-left: auto;margin-top: auto}
Supongo que jugando con los valores "margin-top" y "margin-bottom" podrás centrarlo también verticalmente.
Sino, siempre puedes usar una función con JS que detecte la resolución de pantalla, y a partir de ahí centrar verticalmente.
Si te interesa la función JS dímelo y te paso una función que tengo hecha que devuelve el tamaño de la ventana del navegador.
Saludos, y espero que te sirva!
EDIT: no había visto la parte que dices de la imágen. Esa parte yo la suelo arreglar así:
Código:
<body>
<img class="wallpaper" />
<div class="maincontent">
...
</div>
</body>
Y en el CSS:
Código:
.wallpaper{left: 0px;width: 100%;height: 100%;position: absolute;z-index: -1;}
Saludos