Ciao, sì, un modo c'è, e forse anche più di uno.

Puoi provare ad applicare questa roba sul div principale:
codice:
display: flex;
flex-wrap: wrap;
justify-content: center;
In tal caso non avrai bisogno di nient'altro; rimuovi quindi le eventuali varie regole definite nelle media query e le proprietà table dai vari elementi.

Il contenitore definito in questo modo fa tutto il lavoro disponendo gli elementi al centro e distribuendoli su più righe se non dovessero stare più su un'unica riga.

Prova e fai sapere.