One way to do this is to use a quick action. You can use predefined values to set the value of the Name field, and if you use an object-specific quick action to create the record as a child of another record, you can even include field values from the parent record. Additionally, you can remove the Name field from the quick action form even though it's a required field -- as long as you provide something in the predefined value for that field, the record will save.
For example: say you're creating an opportunity from an account, and you always want the opportunity name to be in the format "AccountName - Date Created". You would:
- From the Account object, create a new Action of the Create a Record action type, with Opportunity as the target object.
- Set up the form to include the fields you care about. Optionally, you can remove the Name field from the form. Save the form.
- On the action detail page, in the Predefined Field Values related list, create a new predefined value for Opportunity Name. For the formula, use
Account.Name & " - " & TODAY(). Save the predefined value.
Now you can add the quick action to your page.
This has some limitations in support. You can't use quick actions (at this time) on the actual related list in the page layout - they can only go in the actions sections. In Lightning this works pretty well because all the actions (standard/custom buttons & quick actions) are combined in a single list. In Classic quick actions can only placed in the Chatter publisher.