Hi Jonathan,
Although many sites do install from source on NFS and then use modules to manage, this is not the recommended approach. In addition to the issue with the localstatedir that you point out, there is also a philosophical issue with supporting multiple versions of Singularity:
Singularity is not a "normal scientific app". Parts of the code path run with elevated privs via a setuid bit. New versions of Singularity often contain security patches. If you support legacy Singularity versions you must pay close attention to which version are safe and which version are not or else you may be asking for trouble. It's usually best to only support the latest version of Singularity.
These are some of the issues that
Sylabs aims to solve with Singularity Pro. It's analogous to running Fedora vs RHEL. Basically, Sylabs has created supported snapshots of the Singularity open source software that will be supported for the long term with backported bug fixes and security patches.
Dave