I think the real problem with the ranking system is the severe jump to S.
From B- to A+, you normally gain 10 points for wins, and lose 10 points for losses. From what I remember, the B's are okay due to the amount of players that were in it at the time. Transitioning from C onward (where the system is biased towards ranking up), I think the system is fair. The A ranks themselves have little difference from each other: Matches combine A- A and A+ seemingly randomly. There honestly is not really a big jump from A- to A+ since the matches do not change much.
S is where the problems start. First of all, why is there no S- rank? Makes no sense to me. Second of all, S is a big "dump" rank because all squad matches S do not matter. People could get carried to S in squads, or do amazing in squads but never make it to S+. Thirdly, the point change is radically different. Going up and down 5 points at a time means it is somewhat easy to get stuck in S, despite playing well. In addition, once you get to around S 40, the rank points get all crazy and start giving you 4 for average wins, 6 for losses. Add this to RNG matchmaking, and it is nearly impossible to get to S+. Even at S+, the small amount of players in S+ get lumped into A and S games, which means that some people might just carry the teams.
It would be much better if there was a gradual approach, like making A- give 9 points for wins and losses, A 8, A+ 7, and (adding a S- rank) S- 6. This way, it would be harder to enter S and mean that the A ranks are more populous, which means that A's would get matched with A's, A+'s would get matched with A+'s, and so on.
From what I generally see, C ranks are new players/bad, B players are okay, A players are decent/above average, S players are good, S+ players are splatoon gods. If possible, the system should be organized so each rank has a semi-equivalent number of people.