Думаю, что здесь может помочь установка минимальной высоты на область контента или на body. Но не в пикселях, а в процентах высоты видимой области, vh (vh - viewport height ). Примерно так:
body {
min-height: 100vh;
}
Высота видимой области будет рассчитываться автоматически, на весь экран, даже если контента будет одна строчка, и футер будет прижат всегда книзу.