This is the difference between Presence of "Hidden" versus "Invisible". Invisible will still take up space on the layout, while Hidden will not take up space.
Also, you need to be using a flowed container as your subform or page. If it's positioned, then hiding fields wont' cause everything else to move up.
Mike