(with my upstream hat on)
Squid-3 and systemd are incompatible. The .service file distributed with
3.5 is minimally sufficient for systemd startup and shutdown, perhapse
status (but only perhapse) command - but no other management commands
work at all well.
One of the resulting issues is covered in a bit more detail in
As for the mentioned use-case:
I'm a little confused by what you mean by having to configure respawn.
Squid performs its own automatic worker process restart after crashes.
No need for systemd or anything to explicitly be configured. The
worst-case event where the Squid daemon manager itself crashes, is when
the systemd flaws appear most visibly - such as the above mentioned bug
(with my Debian pkg-squid hat on)
Squid-4 has been redesigned to give systemd less trouble tracking PID.
The 4.x squid package being worked on for Buster (and possibly Stretch
backport) ships the necessary init files for both sysVinit and systemd.