I suggest the creation of two new event kinds, one for follow and another for unfollow.
With that you can:
a. Compute the follow list from a history of timestamped intents, which leads to automatic convergence of state without user intervention, CRDT style
b. Subscribe to (un)follow events by npub,...