So, I've basically gotten this working (not to the finished script yet, though).
I'm using search cursors to build dictionaries of the feature classes, only providing an ID field and a modified date field (which is used to key off of for Updates).
I compare the dictionaries and anything that is in the source featureclass, but not the target, is added to a list of "adds". Anything that is in the target feature class, but not in the source, is added to a list of "deletes". Anything that is in both feature classes but has a different "modified date" is added to a list of "updates".
I am then using insert/update cursors to iterate through the rows of the feature classes, and making edits where appropriate until they have identical data.
I'll post the finalized script later once it is ready.