The ELO rating system and later improvements like Glicko are specifically designed, as far as I know, for mirror games. That is, we assume that no player has a systematic advantage over another. In chess, this is typically the case because a player will be black/white a roughly equal number of times.
But you can imagine that if in some variant of chess, the player who was white/black was not randomly determined that some players could gain a systematic advantage and this would be reflected in their ELO rating.
What about games like for example Starcraft, a computer game with 3 races (Terran, Zerg, Protoss)? The races are unlikely to be perfectly balanced. One is probably better than the others.
Would it be possible to calculate an ELO rating that took into account racial advantages and thus more closely measured the 'true skill' of a player? How would you do so and what is the best way? (References to existing, well-documented CS/Stat/Math/etc techniques are preferred in the response, but if you have your own unique way of tackling this problem, I'd like to know too.)
Note that you cannot assume that the player pools have the same 'true skill' distribution in real life. For example, in Starcraft 2, there are probably more pro-level players in the Terran pool than the rest, because many of the professionals grew up watching Starcraft 1, in which the most admired players were mostly Terran.