How do I make sure the gutenberg block CSS is not disrupted by generic styles?

Many of the default blocks add a class wp-block-[name] to the block’s root element on save. You could use these to increase your class specificity.

For your example of covers, .wp-block-cover .has-huge-font-size or .wp-block-cover p.has-huge-font-size depending on how much specificity you need.