Если вам надоело изобретать очередной замысловатый способ размещения контента и стили к нему для того, чтобы пресловутый подвал сайта отображался в отведенном для него месте, возможно, стоит обратиться к динамическому изменению его положения.
Данный способ предполагает смещение подвала вниз на разницу в высоте "экрана" и контента. В качестве "экрана" будет выступать высота тега body, а контент определим по высоте блока, обернутого вокруг всех элементов страницы (в том числе и подвала). Надо сказать, что везде, кроме хрома, внешний блок не требуется, т.к. высоту содержимого можно брать из величины offsetHeight тега body, но что поделаешь.
window.onload=function(){
//var contentHeight = document.body.offsetHeight;
var contentHeight = document.getElementById('content').offsetHeight;
var bodyHeight = document.body.scrollHeight;
if (contentHeight<bodyHeight) document.getElementById('footer').style.marginTop = bodyHeight-contentHeight;
}