That NIP looks good, would implement.
Do you know if many relays support https://github.com/nostr-protocol/nips/blob/master/33.md? I think it would directly enable the key-value storage feature on Nostr that I've been pushing. D tag is the key.
K-V storage would actually enable you to set block / follow / like status per event or user (d: "likes/${eventId}", content: "true") so you don't need to worry about your devices being out of sync and overwriting each others' lists.
And the events stay smaller when you update just one key, vs. events that contain a list of potentially 1000s of entries.
But that's something we can do later. NIP42 looks good.