Where is the script that creates home folders in linux?
Fedora will copy the contents of /etc/skel into your newly created home directories upon account creation. You can just toss empty public_html and private_html directories there.
In debian you can provide a script that is run after adduser is called. Perhaps fedora has something analog. You can use this script, if you have further things to do...
Here a snippet from man adduser
If the file /usr/local/sbin/adduser.local exists, it will be executed
after the user account has been set up in order to do any local setup.
The arguments passed to adduser.local are:
username uid gid home-directory
The environment variable VERBOSE is set according to the following rule:
0 if --quiet is specified
1 if neither --quiet nor --debug is specified
2 if --debug is specified
(The same applies to the variable DEBUG, but DEBUG is deprecated
and will be removed in a later version of adduser.)