Sync user accounts over multiple linux servers
Solution 1:
I'd recommend starting to use a config management system (Puppet and Chef are two good options at the moment) to deploy user/group data to your servers.
Ideally, you'd have one central LDAP or NIS server, but due to your distributed nature, using a config management system to keep your local user/group databases in sync would be a better option for you.
Solution 2:
You can use LDAP for central user management, with replicas on all servers. And some cluster filesystem for the home directories, like: GlusterFS or XtreemFS.