guarda, non so se possa funzionare bene però una cosa che puoi provare come soluzione tampone è quella di racchiudere tutto gli elementi del body in un div contenitore
a questo assegni una larghezza (quanto basta per contenere il tutto), position: relative e margin: 0 auto;
poi incroci le ditase non ci sono cose particolarmente astruse (non più di quelle che ho visto, lmeno) potrebbe anche funzionare