One easy and (usually) painless way of moving things is a combination of copying and leaving NTFS junction points in their place, so that anything that expects things to be where they were would still "think" it's there.
Assuming your 32GB disk is C:, let's say you have a folder called C:\Data you want to move to D:\Data. In that case, run these commands in Command Prompt (depending on the current setup, you may need to run as Administrator):
- Copy the original data:
robocopy "C:\Data" "D:\Data" /E /COPYALL /XJ
- Delete the original data:
rmdir "C:\Data" /S /Q
- Create a junction where the original was to point to the new location:
mklink /J "C:\Data" "D:\Data"
You probably don't want to do this for most "standard" folders though:
Because of this, I recommend you only move the things that take the most space, rather than the whole of Users of Program Files. WinDirStat can be help pinpoint what those things are.
Finally, hiberfil.sys can't be moved, but can be disabled and the page file can be moved through settings.