Is the VM mapped to a physical block device or a file acting as one?
One thing to consider is that you can boot a recovery disk or something like a rescue CD image after presenting another disk or disk image and move /var /usr and /tmp to there. Those file systems tend to do well on their own partitions.
The way to go about this would be to present additional disk devices and then, from the system, modify the /etc/fstab file to point to the new devices. But, before you allow them to be mounted, I would suggest you rsync each directory to its new location. Once you have mounted the new location over the directory, the contents of those original directories will be inaccessible.
The partition that is to be resized must be unmounted when we do the resizing; obviously this is not possible if this is the partition that holds all important system files . Therefore we download a Live Linux-CD such as Knoppix from which we boot later on (if you have physical access to the system). If it is a remote system that you don't have physical access to, you need a rescue system on that system (a lot of hosting companies offer dedicated servers with rescue systems nowadays) that you can boot into (instead of Knoppix), and this rescue system must have the following tools: fdisk, umount, fsck, tune2fs, e2fsck, resize2fs.