Something has to be happening to cause the stopping of the service, as it won't just happen for the heck of it.
Can you look in the event viewer on the server that holds the service, and look for warnings/errors around the time(s) that the service has halted?
Event Viewer = Amazing
EDIT: Also, it wouldn't be a good idea to "prevent" the service from stopping. Sometimes as a troubleshooting tool this service has to be stopped. Anything you do to prevent that from happening, can cause more problems down the road. I would more go the path of finding out the cause...