> the obvious middle ground is preventing eviction until a new tenant is found.

Not sure that's obvious (is it done that way anywhere?), but it is an intriguing idea.

On the positive side it does decrease the inefficiency of places sitting empty while a tenant is found, which is good.

On the downside, it kind of goes back to being a sudden eviction, since the current tenant can't predict when a new one will be found, so whenever it happens they'll have a short-notice to move out.

Also, unfortunately there exist people who will take this time to destroy the place, making it un-rentable, to perpetuate staying there. Need to handle this edge case somehow.