Sorry. Tested it, but only works for menus that are on a single line. If the menu overflows onto the line below then it breaks. Not really ideal.
Put this in the very top options box.
For top menus:
<script type="text/javascript">
jQuery(document).ready(function($) {
var listwidth = 0;
$('ul.top-navigation > li.menu-item').each(function() {
listwidth += $(this).outerWidth( true );
});
var containerWidth = $('div.top-navigation').width();
var paddingleft = (containerWidth - listwidth)/2;
var finalcontainerwidth = (containerWidth - paddingleft);
$('ul.top-navigation').css({'padding-left': paddingleft, 'width':finalcontainerwidth});
});
</script>
For bottom menus:
<script type="text/javascript">
jQuery(document).ready(function($) {
var listwidth = 0;
$('ul.bottom-navigation > li.menu-item').each(function() {
listwidth += $(this).outerWidth( true );
});
var containerWidth = $('div.bottom-navigation').width();
var paddingleft = (containerWidth - listwidth)/2;
var finalcontainerwidth = (containerWidth - paddingleft);
$('ul.bottom-navigation').css({'padding-left': paddingleft, 'width':finalcontainerwidth});
});
</script>