Where is the developer documentation for making core CiviCRM database changes, to the schema and to the initial data?
Change the appropriate file(s) under xml/schema so the tarballs are created properly. 
The data insert statements for the tarballs go in https://github.com/civicrm/civicrm-core/blob/master/xml/templates/civicrm_data.tpl as you mention.
Create, or more likely edit, appropriately named file for version you are targeting PR to go into under https://github.com/civicrm/civicrm-core/tree/master/CRM/Upgrade/Incremental/sql. Your insert or alter commands for upgrading sites go in there.
Very rarely, instead of or in addition to 3, you may want to put some php code into appropriately named file under https://github.com/civicrm/civicrm-core/tree/master/CRM/Upgrade/Incremental/php.
Usually the schema changes are simple for the tarball and you need to worry about the upgrades working properly. Manual tests are all I know about. :(


HTH. If this works maybe submit it to a developer doc page.