Here is a closed thread about solving this, which includes a css solution: Site setting to hide custom user fields from signup page
Right now for custom user fields, the options are:
Editable after signup?
Required at signup?
Show on public profile?
Show on user card?
I think another option would be quite useful:
Show on signup form?
Hide on signup form?
By default, without custom CSS modification, all custom fields (optional or not) will be displayed on the registration form. This somewhat limits the amount of custom fields that can be implemented as having too many will make the registration form overloaded and potentially intimidating to new users.