Tentant protection laws are always a matter of degree.
Requiring a process in order to evict tennants is a good thing. If the process is unsatisfyable or extremely lengthy, I don't think it's a good thing anymore. There should be a way to get destructive and severely disruptive tenants out in a hurry. Ordinary breach of contract things (failure to pay rent, problematic behaviors that violate the lease but aren't an immediate issue, etc) should have something like a 3-7 notice period and then be referred to court and figured out without undue delay.
I'm ok with limiting the reason for the landlord ending a lease, especially where the tenant has stayed there for a long time.
IMHO rent control/rent stabilization can be useful when the cap isn't set too low, and there's reasonable ways to pass through less predictable costs. If the cap is too low, rent gets significantly behind the market rent which causes trouble for landlords but also leads to situations where renters end up stuck where they are; maybe better than being forced out but not if the property deteriorates. If the cap is too high, it doesn't provide meaningful stability or a planning horizon for tenants. If it's in the right place, it gives renters reasonable time to adjust to market changes. Again, IMHO, 3% is probably too low, 10% may be too high, somewhere in the middle is nice to have.
Tenant protections setting deposit limits and process for assessing against the deposit seem reasonable to me. Landlords are going to screw tenants out of deposits if they can, regardless of the market realities, because the relationship is over, the renter is busy with other stuff, and the landlord has the money.
Is there any morally valid reason to evict a tenant other than nonpayment of rent? For bad behavior that should be between them and the police, not you.