So, all the compiling overhead that is needed for ogg isn’t really an issue in my eyes, since this could be built as a static library too. Other than that- registering the ogg format instead of using the preprocessor-flag is exactly what i had in mind. And while the users might have to do more to setup the project (at runtime, instead of compile time too!), at least for me personally it would make it easier to understand how the modules interact with each other, and where some functionality comes from.
But i see that the preprocessor-defines are so baked-into juce that it would be hard to make such a change.