When bitcoind (version 0.16.1) is started via systemd with the supplied bitcoind.service file stopping the service results in an unclean shutdown if for some reason it takes too long to write the cache to hdd and subsequently will cause a rolling forward when it is started the next time.
So maybe it is a good idea to add something like this to the bitcoind.service file
0# Commands to ensure a clean shutdown when stopping bitcoind
1ExecStop=bitcoin-cli -conf=/etc/bitcoin/bitcoin.conf stop
2TimeoutStopSec=600
3# don't send kill signal
4KillMode=none