Full Load
PeopleHub provides a service that provides the full load of people data. You should rarely if ever need to load the people data this way. You need to load the supervisory orgs and cost centers before running this load.
GetChanges
The scheduled job should really be a workflow that handles exceptions and sends out incidents when it runs into problems. See here for what I started.
Troubleshooting
These are actually pretty straightforward data loads. If you need to re-run it due to a PeopleHub issue, you can just re-execute the scheduled job above. If you need to go back in time you can adjust the date on line 168. Right now it assumes yesterday's date.
r.setQueryParameter('changestartdate',yesterday); r.setQueryParameter('changestartdate',yesterday);