Centrar un menú horizontal de CSS

Tengo un menú CSS usando el siguiente CSS.

¿Cuál es la mejor manera de centrar todo el menú en la página?

He intentado usar otro<div> fuera de<nav> y establecer márgenes, pero simplemente se alinea a la izquierda todo el tiempo.

nav {
    margin: 0 auto; 
    text-align: center;
    border:1px solid black;
}

nav ul ul {
    display: none;
}

nav ul li:hover > ul {
    display: block;
}

nav ul {
    list-style: none;
}

nav ul li {
    float: left;
}

nav ul li:hover a {
    color: #000000;
}

nav ul li a {
    display: block; 
    padding: 10px 15px;
    color: #000000;
    text-decoration: none;
}       

nav ul ul {
    border-radius: 0px;
    padding: 0;
    position: absolute;
}

nav ul ul li {
    float: none; 
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    position: relative;
}

nav ul ul li a {
    color: #000000;
}

nav ul ul li a:hover {
    color: #666666;
}

nav ul ul ul {
    position: absolute;
    top:0;
}

jsfiddlehttp://jsfiddle.net/njuVm/

Respuestas a la pregunta(3)

Su respuesta a la pregunta