Actually all pesky variance comes from procs (given average_dmg=1).
Before one may start to saying something about crit. Latter is also a PROC, a Programable Random OCcurrence. Same goes for resistances and dodges that can be modelled as a proc that adversely affects incoming damage.
How do we model a proc?
From a mathematical standpoint it's described by:
1) Trigger that might activate the proc (some gameplay event)
2) Occurrence pattern (includes chance to proc and internal cooldowns)
3) Things that happen when the proc activates (and possibly deactivates)
At this very moment I can't find a way to address variance in its general case.
Of course, one can replace proc model with some average values when a single thingie is modelled. However, modelling
synergy of multiple procs is where analytic models start to suck. This is why SimCraft is necessary. This is why we have to tolerate variance. This is why we have to wait 48h to get only that damned 0.015 precision.
However, sometimes we can replace random thingies that happen with their statistically averaged equivalents, while not losing comprehensiveness of the simulation. As I vision it, we can legally do so
when and only when a given random event doesn't have any side effects.
Example number only, since I have to go home from work

Crit.
Critical strike is a rather unique proc, because it does two things. First of those (Part 1) is dealing additional damage, second (Part 2) is triggering all those sweet on-crit talents and procs from gear. Devariating part two looks like a very difficult task to me since all those procs might cause other procs which can cause other procs. However additional damage dealt doesn't spawn side-effects and can be dealt with.
To 100% devariate part one we need to know two things: A) analytically calculated mathematical expectation of the event's occurrence model and B) event's value. Thanks to average_dmg=1, part B is deterministic.
Part A is too, since crit% chance doesn't change during the raid and can be calculated apriori before the fight. So instead of having each time different crit chances and different resulting dps for so many different spells, we'll bake analytically prognozed crit damage into our results, effectively decomposing crit into 2 procs: Part 1 and Part 2, one of which becomes totally deterministic.
I wish the previous paragraph was true, tho it illustrated my main idea.
To my dismay, there exist procs (e.g. Destruction or Elemental Oath) that dynamically change crit% chance during the raid. I think we can model them independently from the main raid, and calculate mathematical expectation of the crit-proc pattern. Of course, it won't be 100% precise, but due to task decomposition we can find it much faster = with much better precision that SimCraft can guarantee for raid dps. Using pre-calculated crit chance with high precision, we can bake it into our results, guaranteeing lower (but still better than original) precision for the whole picture.