We're talking about a couple of different things here.
Masterpages for printed output are useful for defining headers and footers in your Word output. They also allow you to set page margins, page type (recto/verso), page size, orientation, page start number, etc. They don't allow you to set the default font for that page, or any other attributes of the running text that may appear on that page.
Masterpages for online output are useful for adding breadcrumbs to the tops of your topics, and adding a copyright footer to the bottom of your topics. These elements will be applied to your XHTML files during the build process, so the content in the master page is passed to every page in your project (that is linked to that master page in the TOC.) These masterpages do not allow you to modify anything in the HTML's <head> element, so you can't use MasterPages to modify the styles for these pages.
All style issues are done in the style sheet (with apparently the one exception of hiding text that you don't want displayed in printed output).
As I said in another thread, if you don't like the way Flare does something, enter a
bug report/feature request. In the mean time, you have to work around the current functionality, so you have to figure out another way to do it.
With your 300 topics, I'd probably do a global find/replace, where I found all the divs that have have the display:none attribute, and modified it somehow to add another attribute for MadCap:conditions, setting it to the PrintOnly condition.
It's not as elegant as a one-line CSS solution, but unless MadCap acts on your bug report, it's what you got.