The end goal is just that the scrollable data in the middle is responsive, only as tall as the screen allows, with the rest of the elements staying in place at the top and bottom.
you just need to make the header and footer floating groups with float relative to top and bottom respectively. Then with your table elements, put them in a group with margins the same size as your header and footer.