I've also made an start/stop script and I see 2 problems that I also encountered and was challenging to find a good solution to overcome them:
1) Your bitcoind runs as root. A possible bug that would cause some attacker to run his/her own commands through bitcoin gets root access. Ugh... it does change user
2) Stopping bitcoind is done by sending a signal to the daemon. I don't know how good bitcoind tries to close its databases, but I've had once a database corruption when killing the daemon. On the bitcoin chat people advised me to to send the rpc stop command to stop it (and call start-stop-daemon later again to clean it up), checking the debug log can give some information if it is closing right (flushing the database files). Best would be that bitcoind closes itself properly after receiving a kill signal.