Через flexbox это отлично делается
<div class="parent">
<div class="block-1"></div>
<div class="block-2"></div>
</div>
.parent {
display: flex;
flex-direction: column;
}
.block-2 {
flex-grow: 1;
}
flex-grow: 1 говорит флекс-элементу занять все оставшееся место