А что, "height: auto;" у вас работает?
Задайте div.parent {position:relative} - тогда все абсолютные блоки будут позиционироваться внутри него, а div.child {position:absolute;left:0;right:0;}
div.child1 {top:0;}
div.child2 {bottom:0;}
В итоге нет никаких фиксированных заданий высоты. Но только вы должны предусмотреть чтобы высота div.parent была всегда больше суммы высот div.child. А если в div.parent предполагается текст - то нужно будет задать отступы, равные div.child, чтобы текст под них не прятался.
Но я искренне не понимаю почему вы не можете вставить между div.child еще один div, в котором и будет задана минимальная высота и будет располагаться текст, которого в случае если окажется больше - то все хорошо растянется.