The current rating mechanics are set up with an expectation of rating classes being about 200 points it seems (based on the point gain/loss system) and for a 1500 base ELO rating level. As it stands now, if you lose to someone 200 points below you, you lose what ends up being about 5-10% of your total points. Where a 2200 rating guy losing to a 2000 rating guy will lose the same amount of points, that actually accounts for less overall of his total rating. This means that the rating variation is mostly similar to that of a functioning system if you assume that current player rating levels are fairly accurate representations of their skill level. Why don't we have this now? If it's set up for that, why aren't we seeing rating classes form?
Because the base ELO Rating is 100 and skill degradation is far, far too severe (Most systems don't even have rating degradation, but if they do, normally your skill doesn't start degrading until at least an entire month passes without you having a competitive match), skill classes can't possibly form properly. If your rating degrades 100 or 200 points when the highest person only has 500, that means you basically dropped about four skill classes(Not that we actually have them, it's just an example), yet your actual player skill has almost certainly not faltered at all. This is undoubtedly the reason skill classes aren't forming, and never will. No one cares enough to play often enough to never have their skill degrade and any time you have inappropriate rating degradation, you further break the system's functionality.
I know this is implemented to counter exploiters, but when the entire system simply doesn't function, it's pointless to even bother caring about exploiters to begin with. Functional yet exploitable is surely better than nonfunctional. At least with a functioning, exploitable system, you would have far smaller rating fluctuations of individuals, which would itself allow classes to form.
Now, I can understand a bit why 100 was made as the starting point, and it seems like it would be good, but in reality it is another hindering factor. You would think it would increase the average, and that it would be a good thing, but it's actually the opposite of what you need for a functioning rating system. Your starting rating level needs to be approximately what you expect the "average" to be. When 100 is the starting level and 0 the minimum, it skews the entire system and you end up with non linear skill classes forming(assuming you even get them).
Further suggestions:
Only have elo rating factor in after a series of duels, something to mimic a "match". If you make one mistake in a duel, you pretty much have lost the duel against a reasonably skilled opponent, even if they are a few classes below you, if you aren't a str build and in plate armor. In every other game that uses an elo rating system, wins generally aren't dictated by a single mistake being made (unless it's huge). One mistake in chess against a person several skill ratings below you is recoverable. One mistake in a crpg duel against someone with far less rating, could cost you the entire duel, and thus your rating. Why is this bad? Because it means that you can easily lose points without any chance of regaining them. "But over the course of 100 duels it should still even out due to averages." No, currently this isn't actually the case at all. Reason being, rating variance makes it harder to find proper opponents that can actually give you a reasonable amount of rating to being with, and with several opponents that can't give you points, but can take them from you, and most importantly, factoring in skill rating deflation, you can't expect to find proper opponents.
Give diminishing returns for winning/losing to the same person over and over. Rather than having your expected score based solely upon your ELO rating, have it partially look at the past(recent maybe) win:loss ratio to calculate the expected score. This is really great because it prevents exploitation for all cases aside from the most extreme, complex and highly unlikely scenarios. Furthermore, when duelists don't start on an even playing field due to weapon match-ups, builds, looms, etc. you should expect player a to be able to kill player b more easily than player c, but player c to more easily beat player a than player b. This prevents player a feeding on player b to easily increase his rating, while ignoring player c.