If init can't be relied on to manage services, what guarantees do you have for the system to provide them?
Sure, one could reinvent this in scripts, but we've moved past this. I mention systemd a lot, but that's not to cast favor - there are alternatives.
Most services don't make appropriate use of the environment they exist in. I assume they expect some site customization, ie: declaring your web server needs these mounts.
A commonly overlooked directive is 'PartOf='. You can tie restarts of one service/resource to another.
Heck, more simply, I think NetworkManager offers a way to customize the wifi/portal checking. You may not have to go completely heavy-handed