You would need to do this in the field definition, otherwise the entity form won't validate. Implement a hook [hook_entity_base_field_info_alter][1] and set required to FALSE:

    function mymodule_entity_base_field_info_alter(&$fields, \Drupal\Core\Entity\EntityTypeInterface $entity_type) {
      if ($entity_type->id() == 'menu_link_content') {
        $fields['link']->setRequired(FALSE);
      }
    }

But this doesn't help for the menu link, because there is code in the menu link content class that depends on `$this->link`, so even if you manage to pass the validation you get an error later, that the link is missing.


  [1]: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21entity.api.php/function/hook_entity_base_field_info_alter/8.3.x