One workaround that has been implemented in e.g. MATE's file manager Caja is the ability to load custom CSS based on theme name. E.g., we could imagine try and load geany-$THEME.css, if it exists. That would clearly not be perfect, but could allows us (or the user) to provide support for some specific themes.
Ideally themes would support Geany's custom classes (given we did that properly, but I think we did), but that's probably a tiny bit unlikely.
This said, you could also possibly make a custom theme in your user's dir, import the original CSS, and add a couple of rules for Geany's own stuff, that might work as well.