πΊπΈUnited States vpowner
For my use case where email address is required for password resets, I used [module_name]_form_user_register_form_alter in my .module file and $form['account']['mail']['#required'] = true;
For non-tech users and keeping things simple, I'd suggest adding a checkbox to the settings form /admin/config/people/accounts which would be next to the "Require email verification when a visitor creates an account" and have it say something like "Email required on new accounts".
πΊπΈUnited States vpowner
Regarding data loss, I noticed this function does not account for orphaned references. The ER on a node that points to a no longer existing node needs to be reported (or exception thrown) so we can investigate/fix.