ciao
non c'e' una vera e propria risposta, le tecniche sono molte per fare quello che vuoi tu pero' dal punto di vista responsive non so se esiste una tecnica "corretta"
io metterei un valore min-heigth al corpo cosi' da avere la parte testuale sempre alta almeno un X di px ma per il mobile questa cosa non va molto bene
credo che farei delle media-query per identificare le risoluzioni desktop, ma anche li se hai un monitor da 2800px di risoluzione non vedrai mai il foter esattamente in fondo alla pagina, dovresti usare un position absolute, dare un valore fisso di altezza al box footer e modificare il box per restare comunque centrato nello spazio di lavoro, poi dovresti dare un valore di padding fisso alla pagina che altrimenti se piu lunga andrebbe ad oscurarti il footer
insomma un bel po di casino ci sono varie vie, tutte tramite CSS
spero di averti indicato la via
ciao