In realtà, ricontrollando, centrare col div flottante richiede di conoscere le altezze dei due blocchi. Non è necessario invece col display:table. Non è supportato da vecchie versioni di Explorer (parliamo di browser di molti anni fa) ma nella pagina che ti ho lincato trovi il css dedicato a ie, ed è una soluzione che uso e funziona perfettamente.
Una soluzione universale e unica puoi averla con javascript, facendo calcolare l'altezza dei due contenitori e assegnando un margine superiore che sia pari alla differenza delle due altezze diviso 2. Credo si trovino già pronti script del genere, ma è questione che esula dal forum css