Вообще я обычно делаю так:
для блока с контентом (без шапки и подвала) поставить минимальную высоту с помощью calc
min-height: calc(100vh - X); - там где 'X' сколько то пикселей, просто через инструменты разработчика меняй количество пикселей, пока подвал не встанет ровно и не пропадет скроллбар
Никаких абсолютов и прочих костылей, ничего не наезжает и одним свойством
https://jsfiddle.net/k0adzd6b/3/