Troy,
This is indeed a huge ScheduleHistory table! It appears that the Purge Schedule History job has not been enabled to run regularly or is not running properly. Navigate to Host --> Scheduler and be sure that the Purge Schedule History job is enabled. The default frequency is 1 day. Click on the edit pencil beside this job to make changes if necessary.
Regarding the frequency of the Purge Log Buffer, Purge Module Cache and Messaging Dispatch, the 1 minute frequency is the default. I would check that each has a value of 10 or less for the Retain Schedule History setting. Once the Purge Schedule History job is enabled and working, that frequency should not be a problem.
Although it is a bit dated, the following article by Mitchel Sellers should help to explain some of the scheduler jobs and suggest best performance settings:
http://www.mitchelsellers.com/blogs/a...
I would also enable the Purge Site Log job with a default frequency of 1 day. How many or over what period of time site log entries are retained is set in Host-->Settings, Advanced Settings, Other Settings.
There is no scheduled job available to purge the EventLog table so that one needs to be either done manually on a regular basis after looking through the Event Viewer for any errors or by running an externally scheduled SQL job. I think Mitchel either had or has a module available for free to do just that.