This is an old revision of the document!
1. Defrag
for example with MyDefrag - it has a option to put empty space at the end
2. zero empty space
use sdelete from https://technet.microsoft.com/en-us/sysinternals/sdelete.aspx
sdelete -z c:
3. Compact VDI
VBoxManage modifyvdi --compact /path/to/disc.vdi # use uuid of disc, if this doesn't work