OK, twentyseventeen and twentysixteen uses both the_content() and the_excerpt() on different templates under different circumstances. Complicating what happens is if you make use of the <!–more–> tag in content. the_excerpt() naturally only shows excerpts, from the manual field if available, auto generated if not. the_content() works like the_excerpt() on index and archive pages, but shows full content on single pages.
It’s OK to change template code (any theme code actually) of custom developed themes. It’s not OK to change core WP code, and ill advised to change published theme templates or code. You could replace the function calls on a template with functions of your own design. Another alternative is to make use of filters that go with each WP function: “the_excerpt” and “the_content”. Your filter callback is passed the normal output. What your callback returns is what is actually output. So you could add a filter to “the_excerpt” that ignores the passed value and auto generates the excerpt from $post->post_content using wp_trim_excerpt() or wp_trim_words().
The related code to declare callbacks and add filters can go in functions.php of a custom theme, functions.php of a child theme whose parent is a published theme, or a custom site specific plugin. In fact, all customizations besides altered theme templates should be done through filter and action callbacks. On occasions where required, pluggable functions can be declared in the same places. While you could use all of the above code locations on one site, you should pick one and manage it all through that one location.
You have lots of viable options. Because calls to the_content() and the_excerpt() can appear on several different templates, I personally would use the filter approach, declaring the callbacks and adding the filters on functions.php of the custom theme. One callback added to two filters can cover all possible situations on all of the templates in a single code location.