We need to get back to what the open-vm-tools "service" does and does not do. The service daemon vmtoolsd communicates with the host for things like status, time sync and power off. This is the only program run as root. The rest of the programs are user space programs, run separately, and do not require the daemon to be running. The shared folders do not require any other programs to be running, and can be used in a text only environment which is why they are mounted in /etc/profile.d/open-vm-tools.sh. The remaining program is started from /usr/local/etc/X.d/open-vm-tools which provides desktop resizing and copy/paste. This program exits when X exits.
I'll make a few changes. One, /etc/fuse.conf is created when the service is started if it doesn't already exist. It isn't needed by the service, it is needed for shared folders, so I'll move this bit of code from /usr/local/etc/init.d/open-vm-tools to /usr/local/tce.installed/open-vm-tools so it gets created when the extension is loaded. Two, I'll add a "status" option to /usr/local/etc/init.d/open-vm-tools so the services dialog will function correctly. Three, I'll update /etc/profile.d/open-vm-tools.sh to mount each shared folder as a subdirectory in /mnt/hgfs. If anyone can tell me how to make a script that runs when $USER logs off then the shared folders can be unmounted at that time. For now this part remains to be done.