Non credo che sia possibile con i soli CSS.
Puoi pero` centrare il tutto, in modo che non sembri tutto spostato a sinistra.
Per centrare il blocco <ul>:
1. togliere il float a tale blocco
2. metterci i margini automatici in orizz.
3. mettere un clear alla fine del blocco (ad esempio sull'elemento ul:after - vedi [Pillola] FabClearing, un metodo crossbrowser alternativo per il clearing dei float)
L'alternativa e` settare il margine tra gli elementi dopo aver visto quanto e` largo l'elemento <ul>, ma questo lo si puo` fare con JS (o anche il linguaggio lato server, ma con uno sforzo maggiore).
Se ti interessa percorrere questa strada, posso spostare la discussione nel forum JS.