We use a server / network shared drive that everyone connects to.
Every maya install has it's own Maya.env that is located on the server which needs to be copied to the user's maya prefs location (this is a one time only copy, after this, you're done.)
This env file contains everything needed for Maya to set relevant paths (proper usersetup.mel/py, shelves, site-packages, etc)
We have split up maya folders on that server with global plugins/scripts that are version independent, and versioned folders for each maya version that are version dependent.
Same for Fusion (we use a masterprefs file), all it needs is to run a bat file that sets 2 system environment variables, and that's it.)
Code is maintained via svn, and release versions are copied to the server that everyone connects to (only problem you'll run into is when Windows has dll's that need to be replaced but are in use by workstations, this is manageable in a small team but might become a problem in larger windows environments.)
As for servers, we have switched everything to CentOs , i have a minimal usb install with a custom shell script that installs and sets up the rest with little user intervention (packages, LDAP, SMB, NMB, iptables, etc), so we can literally have a new fully functional file server running in under 30 minutes.