The amount of effort you put into something is the equal value you will get out of it. IE: If you want mathematics to do the work for you instead of having to go through each environment and do it yourself by hand, you will get the equal quality from that mathematics. A similar example is kerning (the space between characters in a font). You can use the default metric kerning or you can kern every individual character by hand. The first is faster but inevitably will [most probably] look less good than doing it by hand.
With that being said, my own guideline is to use the golden ratio with a base of 3. In web design I utilize a baseline of 13 or 21 and font sizes which are divisible by 3. IE: 9, 12, 18, 21, 24, etc. This always produces a nice set of spacing and size relativity.
Unfortunately if you are looking for a way for CSS to handle this for you without you inputting the numbers there isn't a very good suggestion out there. That being said, my own personal suggestion would be to utilize SASS so you can globally change these numbers on a whim when you need to in one place, so it will retroactively change globally when you recompile the CSS.
If that is too in depth of a solution, you should separate the font CSS from the style CSS and utilize that to quickly change the font sizes. My suggestion would be to use @media with current global screen sizes to tell the font size when to change and how large it should be. This is because if you do it via percentages so it resizes and becomes smaller with the table, no one will be able to read it and eventually your web page is useless because it's too hard to use.
To take SOME of the work out of the above, you can utilize Bootstrap which does a lot of these things for you. However; you have to utilize their classes in your code, so you'll have to make sure your HTML is using their classes to work properly.
TLDR; There's no way to put in less time and get a quality solution like you are wanting. You have to put in the work to be certain your application is easy to use and that the user experience is a quality one.