Sorry I can't resist;
Seriously tho; If you had RTFM you would have known systemd and friends were going to be the default on upgrade and taken steps to migrate your init.d scripts beforehand.
Also you heavily modified base (which by your own admission, you had - "stripped down") and you expected major version upgrade to magically know about your modifications. Did you submit your changes to startup scripts upstream somewhere? Were the developers and QA to know you had taken widget X out and replaced it Sprocket Y, was this done in a way that was compliant with widget X and sprocket Y's manuals? Should you have had a reasonable expectation that what you changed was something others do ?
You should have likely done a clean install and migrated piecemeal knowing you had removed large chunks of what is considered minimal from previous versions, on upgrade minimal would have dragged a lot of base back in, and yes in absence of some of what was considered the 'defacto' done things wrongly including drag in a bunch of dependencies.
I think if you want to do what you are doing maybe you should look at lsb.