With further testing, I think just using an upstart job instead of a legacy init script does solve the problem I was having.
With further testing, I think just using an upstart job instead of a legacy init script does solve the problem I was having.