Thanks guys for all the feedback.
STV 3.1.5 (just released) added three new SCViewControllerActions/SCTableViewControllerActions that should do the job for you. The new actions are: cancelButtonTapped, doneButtonTapped, and editButtonTapped. The actions get called when their respective buttons are tapped, and all allow you to return FALSE if you want the tap to be ignored.
For example, here is how you would override the cancel button from within the view controller itself:
self.actions.cancelButtonTapped = ^BOOL(SCTableViewController *)viewController
if( /* your logic here */ )
return TRUE; // accept the tap
return FALSE; // ignore the tap
For more information, please refer to the actions' documentation