$('#main_div').css('top', Math.round(($(window).height()-$('#main_div').outerHeight())/2)+'px' );
Ну и центрировать и отображать div надо уже после того как все данных загрузятся, а это происходит не мгновенно и load запускается асинхронно. Как вариант в каллбек к load прописать нужную функцию. Если делается много load'ов, то либо центрировать после каждой успешной загрузки, но див будет скакать, либо дождаться завершения всех и только потом центрировать и отображать. Синхронизировать можно через промисы или если известно количество load то просто завести счетчик загрузок и выполнять каллбек когда счетчик достигнет нужного значения.