Your ss02 code should be safe as long as an application follows the OpenType specification. When a lookup is processed, the app is supposed to execute the first matching rule, and then the processing of the lookup is complete. See the spec: “Processing of a lookup is finished when the client locates a target glyph or glyph context and performs the substitution or positioning action described.”
I suppose it’s possible that some apps will mess this up, but I don’t know any.