Maybe an indicator of the total estimated processing time for a block could be added in the block headers, and limiting the efffective processing time to this. If it's not processed before the indicator, bye.
or advertising the number of sig op in the block more explicitly from start, and limiting the number of sigop processed to this, if there is more sig op than advertized, bye, as mining nodes are already supposed to know this, if a way can be found not using too much extra bandwidth.