Many of the most exciting upcoming features in CSS don't gracefully degrade well. Variables are one, yes, but the same is true of Flexbox or Grid Layout, Regions, and others.
One thing that will help (once it's supported, heh) is the @supports rule http://dev.w3.org/csswg/css3-conditional/#at-supports . (Actually, it'll help even before it's supported, since you can put the "down-level" version outside the rule and then reverse the properties and do the new stuff inside the rule. The inner bits will be completely ignored in old browsers.)
One thing that will help (once it's supported, heh) is the @supports rule http://dev.w3.org/csswg/css3-conditional/#at-supports . (Actually, it'll help even before it's supported, since you can put the "down-level" version outside the rule and then reverse the properties and do the new stuff inside the rule. The inner bits will be completely ignored in old browsers.)