I cannot give you much about the industry itself, but as a general guidelines for customizing ERPNext includes:
Create a custom app to manage all new DocTypes related to the company you are working with and do not create doctype and link it to any frappe app (erpnext, frappe, hrms, etc)
Do not use ‘Edit DocType’ for any of ERPNext doctypes, rather use Customization
Make sure to export your customization of erpenxt doctypes using the ‘Export Customization’ button to your app to save the customize fields/property from being lost on erpnext app update
Use Fixtures to preserve the data that you changed (this does not apply to most doctype, some of doctypes to make fixtures for might include Role, Navbar Settings, Settings DocType, and others that can have default values to be synced on migrate the site/update erpenxt etc) so you do not lost the changes you make to these roles/documents
Do not change any code in any app except yours. Use monkey patching or override class/function as needed using your app.