Adam - how ya been ? 😉
Well, easiest solution is the following, and here are the assumptions I am going to make.
Each user has their own directory off their home
This is all on the same instance of apache
The web server is running in group www (can be anything)
You are defaulting users to use /etc/profile
alter /etc/profile to change the umask to 0750 by default
Now, change the group of any directory and subsequent files to www (or the group of the web server) leave the owner as the user name.
now, here is the important part, in the user's home directory, (assuming you are using /home/user/public_html), make sure that you do a chmod g+s public_html .. this will set the group bit on the directory and cause all new files created to use that group.
Now, all files are created with them as the owner, in the web server group, so both can see and execute, but others can't. You'll probably want to add all of this into your adduser so it applies to all new accounts, but remember that if you change the group bit, or the group for that matter, of the directory in /etc/skel it won't carry over.
Hope that helps, and drop me a line
Chris King