The above are good points, but I would like to add some info to it.
All domains (including the primary domain) should be subfolders under public_html
Example
maindomain.com root folder /public_html/maindomain_com/
seconddomain.com root folder /public_html/seconddomain_com/
etc
subdomain.maindomain.com should be subfolders of /public_html/maindomain_com/
etc
The reason for this is we need to be able to count storage (total usage) _public_html + email + db
If domains are spread all over / then, it is probably a bit harder to count them.
Another option is to remove public_html altogether and create each domain as a subfolder of / including the main domain.
The above are only suggestions.