Правильно ли я выравниваю горизонтальное меню по центру?
у внешнего блока (в котором меню) пишешь text-align: center. У меню пишешь display: inline-block. Элементы тоже надо сделать inline-block.
UPD
jsfiddle.net/329f5e3f
UPD2
Плюс в том, что меню тогда необязательно делать фиксированной ширины, его размер будет вычисляться на основе детей и паддингов. Собственно размер детей можно легко контролировать паддингами. Единственный ньюанс - надо ставить коммент между li, иначе между ними будет вставать пробел и расстояние между такими элементами будет ненулевым.
если написание в меню в одну строку , можно добавить к ul white-space:nowrap; и тогда не будет переносов строк