In the 10+ years that I have been working with WordPress child themes, I have never seen a problem with a template file being copied into a child theme and customized, until now. There were function calls in the parent theme header.php that caused a fatal error in a student's child theme. The theme author removed the function from the parent theme, so the call threw an error.
Removing the offending function calls fixed the error, but it did highlight a hole in the idea that a child theme protects the customizations from updates. It protects the customizations from being overwritten, but it doesn't protect the site from errors.
My question is two-fold:
Is there a better way to customize a parent template file than to copy it into the child theme and make changes?
Is this actually a problem with a poorly structured theme? That is, should the theme writer have kept the function definition in the parent theme, taking account of possible child themes in use?