In fact, often there are semantic distinctions that ordering betrays, which obviates hard-and-fast rules:
* "A vegetarian Russian lawyer", to me, suggests an attorney of Russian law who is also a vegetarian.
* "A Russian, vegetarian lawyer" suggests a vegetarian lawyer of Russian descent. Ethnicity isn't as important as what kind of law is being practiced, so in this case it's looser-binding and farther from the noun.
I tend to put appearance-related (especially size) adjectives earlier, because it replicates an order of perception. "Big red coat." First, you see something (~5 ms) large (a blob, until it's processed) and then color (~10 ms) comes in, and finally (~50 ms) you focus on its purpose-- it's a coat.
Numbers always come first, for the same reason, even though the way we process small numbers (discrete, under 7) is different from the way we process large ones (continuous, 25+). Size usually comes second. However, there's an art to it, because presentation order also betrays order of impression. "Fat kids, of whom there were nine." You're focusing on them being fat, not how many there are. (You wouldn't say "fat nine kids" because that might suggest an age of 9.)
It seems, to me, like the pattern for appearance-related, concrete adjectives is to go first-to-last by perceptual ordering ("big red bike") but to go least-to-most by importance ordering for abstract concepts ("the new great thing").