I'm not aware of a way to do this: right now, you can end up with a bunch of polygons or lines with long labels that squeeze themselves onto the frame. The biggest culprit of this is enabling asymmetric overrun, but sometimes you need this in order to get the desired labels to place
One solution would be an additional fitting strategy or filter, where the user can specify a proportion (e.g. 50%), and the engine would only place labels onto polygons or polylines with that percentage of their area or length in the data frame. If you don't want your feature labeled at all if it's not fully in frame, that'd be very easy too (100%).