Pues yo nunca he tenido problemas para que un div se quede abajo, si estas utilizando la propiedad float dentro de los divs, debes especificarle al div footer la propiedad clear: both, de resto no le veo mayor problema para que no quede abajo. Seria de utilidad saber como estas manejando los elementos dentro de la pagina y asi saber por que se comporta de tal manera.
Veo que hoy se me están adelantando
. ¿Y si el contenido es mayor que el margin-top que se le da? no cero que sea una buena solución, a no ser que la pagina vaya a tener contenido estático.