"One thing I would like to add is that you can't change your snapshots
directory for a VM in which you currently have snapshots saved."
Not true.
First, follow the advice of the first answerer, and change the default machine folder by going to File>>Preferences>>General and changing the path. This only changes the path for subsequent machines you create, not for those you've already got.
Now, close VirtualBox, and move the contents of your Users/YourUserName/VirtualBox VMs folder to whereever it is you want it.
Then the edit Users/YourUserName/.VirtualBox/VirtualBox.xml file. Change the paths there to your VMs to wherever you've moved your VM folders, reboot your machine, and you're good to go - no Snapshot flattening required!