Problem is a lack of connectivity. If you imagine a network of blood vessels, you need sufficient capillaries to get the right amount of blood to all the smaller nodes/teams, and when you only have a few big veins linking disparate organs you end up with the tenth best Korean team rated close to the tenth best Chinese team, and no natural way within the system to fix that. You can rate each team manually to begin with (not actually cheating) so it starts off looking intuitively correct.
#20 Propagation is an interesting thought. It would also propagate errors. I think it would have the effect of changing the time scale without addressing the connectivity problem (and it would be confusing for teams who like to have clear targets to aim for). Might be worthwhile though, to deal with regions shifting relative strength. You can arbitrarily set the best Chinese team equal to the eighth Korean team, the best NA to the fourth best Korean, etc, then turn on the machine and it'll look fine for a while as they mostly play within their regions, but it'll fail to capture a regional surge, like gosugamers with Korea. So I like that idea.
If an Elo system works then it's a self-correcting network, so you can test it by giving it dodgy starting values and feeding it results, see how quickly it tends towards correctness. And if it doesn't work then you want it to look like it works for as long as possible, because who cares, it's just entertainment.