I’m not against any of the former ways you show, but maybe for me it is a little more complex than that. Humans are complicated, human interaction and relations are more, cause as far as I know, it’s all subjective, maybe, I’m not much of an expert to be honest.
Let’s suppose you build up 80% relation with “x” character, and then you do something bad for whatever reason “y”. Lowering any % to the relation would equate to never have reached a 80% relation with that character.
Combining the two maybe on a more realistic way, would be to let that 80% but toggle another variable, so you can check that your relation with that character was >=80, but you screwed up once on “y”, and that would make it act another way different than a straight “never reached 80%”.
You cheated on your girlfriend (80% relationship) to save someone from death. Just lowering that 80% would account for that? I mean, some people are more open and forgiving than others and could easily understand and let that go, other would straight out cut the relation forever, I don’t know how you can balance that on a % value. So yeah, for me it is more complex.
It all depends on how you build your game, how much complex you want it to be, if there is really a need for it. Either way it can work without “flaws”. And as always, it only adds to the replayability of the game, and maybe not much to the first impression, though I guess it can be felt as more “deep” and “complex” relation, it could be hard, or even impossible to know until you play another branch of it.