"Is that a problem [with a Singleton configuration]?
Not really.
"all the other classes dependent on this singleton"
Not really. You can easily design things so that some classes get configuration, and provide it to other classes.
This is a question of resposnsibility -- what class/package/method has responsibility for this configuration issue. And the answer should be very, very few classes need to know the configuration.
Your model, for example, should probably be focused on the problem domain independent of implementation nuance. It may not need any configuration.
"Is there another, ideal solution that I haven't thought of?"
Not really. The configuration problem is hard. You may have a default configuration, overrides to the default configuration, command-line options. It's quite complex.
"How do you people usually represent this type of data?"
A Singleton for the most part. Generally, a few key "top-level" classes in a given application must know the configuration and use that information to configure all of the other classes.
For a command-line program, the class that is invoked by the "main" program to parse arguments will also know about the configuration. And that's it.
For a web app, a top-level piece of the web app uses the configuration to build, configure, customize or instantiate other things. In many cases, a key Factory will use the configuration to decide what to create. A key Builder may require configuration to customize composite objects its building.
Configuration is not "global". It is not seen by all classes. It is -- like the database -- a precious resource and it is carefully wrapped by classes that have responsibility for handling configuration.
"Is there anything else I should be aware of concerning this problem?"
Yes. The configuration Singleton is not global. It is a scarce, precious resource that is used in a few key places. The fewer the better.