If you're interacting with users, it's important to publish crisp and defensible promises to end users and deliver on them (when these promises are backed by a contract, they're an SLA). Boundary setting is as much about what you will do, and delivering consistently, as it is about being comfortable saying no when the error is the user's. Stating clearly what you expect people to do (sign up for this email list, upgrade on this cadence) goes a very long way.
Policies and promises stated and delivered are usually enough to get people past the anger phase of grief to bargaining, which makes the interaction a lot easier to manage.