I don't have a standard mastering chain, other than SPAN is always at the end of it.
Looking back at my last 3 projects, each one's a little different:
MSpectralDynamics -> Ozone -> Pro-L -> SPAN
Ozone -> SPAN
TDR Kotelnikov -> Pro-Q -> Pro-L -> SPAN
One reason they're different is that Ozone contains multiple modules that may or may not be used. For example, I might use MDynamicEQ in place of Ozone's Dynamics module, Pro-Q instead of Ozone's EQ, and Pro-L instead of Ozone's Maximizer.
What they tend to have in common is some kind of compression going into an EQ into a limiter, and SPAN at the end as a sanity check on the whole thing. The compressor might be broadband, multi-band or a dynamic equalizer, or none at all. The EQ is typically very subtle, and more for widening than correction. Choice of limiter is made after auditioning both Ozone and Pro-L and seeing which sounds better - I use them about 50:50.