I think a mileage based rules of thumb is tough to come up with. Rather than asking for mileage intervals, it's more accurate to use the 12-1/16" chain replacement method, and try to match a cassette and chainring replacement interval "every X number of chains".
Reason being that, while cogs and rings will wear regardless of chain condition, it's got to be largely dependant on how you ride. Someone who climbs a lot will likely require a cassette in fewer miles than someone who rides primarily on flats. Someone who charges up hills in the middle ring is going to wear their cassette down in fewer miles than someone who leisurely climbs in granny. And of course, someone who rides fast on the flats and spends much time in the 11-13T cogs can't help but grind those things down in no time.
On my wife's derailleur bike, her chains and cassettes lasted an eternity because she was never a very powerful rider, but her middle ring needed replacement not because of tooth wear, but because of abusive, low cadence shifting.
So assuming that the chain rate of wear somewhat follows how hard it's being ridden, you might come up with a rule that says "cassette & middle ring every 3rd chain".
I bought a little cassette cog guage from Rohloff called the "HG-IG Check" (or something like that). It's a mini chain whip with a calibrated end roller that, when wrapped around the cog, will either flip up off the tooth (cog OK) or will become "stuck" behind the tooth and won't budge (cog worn). I used it for a short period of time, and while it worked, I realized that it really wasn't telling me anything more that a new chain on an old cassette that "dances". So I sold off the cog checker, threw my replacement interval rules of thumb out the window, and simply began replacing cassettes whenever the new chain began to dance (which still worked out to about three chains per cassette).