I don't know how to do this with VSFTPd; in fact, I tried, and gave up (I have other projects to do).
But I did have a similar problem, and the way I solved it was by forcing them to use SFTP. This can be configured through some careful modification of your OpenSSH Server configuration (/etc/ssh/sshd_config). Search for SFTP & "ChrootDirectory" and you'll find several tutorials.
A few gotchas: Your entire path to your chroot jail directory MUST be owned by root and MUST be read-only by your SFTP user(s).
If you want to give certain users access to certain sites, but you still want to manage them all in one place as the sysadmin, consider creating a separate SFTP jail (I called mine /var/www/ftp, whereas my sites live at /var/www/html) and then hard-linking the directories into the new directory with "mount --bind". Note that you must first create the individual mount directories, and that you must specify the full path to both your target directory and your mountpoint directory.
Final Note: I realize this is an old question, but if this answer had been here when I was looking earlier this week, it would have saved me two solid days of research.