I was looking more or less at the same options. Just was wondering if there was a ready-made set of scripts somewhere to set all of this in motion to save me a little time - but if not, I will just make one.
You can use vboxmanage modifyvm <VM name> --autostart-enabled on and enable vboxautostart-service. However I had to tweak the script to suspend VMs on system reboot/shutdown. Don't know if this works out of the box with newer VBox versions.