In upstart, there is now support for /etc/init/foo.override file.
It's an overlay which can shadow any part of the job.
E.g. echo "manual" >> /etc/init/foo.override
will make sure that foo is never automatically started, only manually when a user does it explicitly.
For the NFS related dependency problem you outlined, sounds like you need a couple .overrides with modified "start on" conditions.