for all I've known rival team can't be changed unless you are no longer in the same league.
This is not the case. Your rival team may change if there seems to be a stronger rivalry against some other team. There is also a limit of 2 rivals for each team, so some rivals may change due to this.
Example: A new team enters your league, and they are the long-term rivals of your previous rival team. That could put you "in third place on the rival list" for that team, and you are therefore assigned some other rival.