If the daemon is actually crashing then systemd has built in ability to act as a watchdog and restart the service if it crashes. See here for an example of a service that is configured to restart automatically:
The lines Restart and RestartSec are the ones of interest. Here is the documentation for these options:
Normally you would use Restart=on-failure which will only restart it if the daemon exits with an error code, or you could use Restart=always which will always restart it even if it’s a clean exit.
Create a file called /etc/systemd/system/transmission.service.d/local.conf and add:
This will apply these options in addition to those in the main service unit file at /lib/systemd/system/transmission.service in a way that won’t get wiped out during upgrades.