> Most of it is not tagged, but has informative filenames. It would be too much work to tag it all (yes, I can write a script to do it, but still).
You should check out MusicBrainz Picard (http://musicbrainz.org/doc/MusicBrainz_Picard), a tagger application that looks up metadata from the MusicBrainz database and allows you to tag, rename, move etc your files based on that information.
> Plus, I haven't seen a working tag "hierarchy" in any player
Agreed, but that's mostly a reflection of the real world -- music is not hierarchical. You have various artist albums, then albums where two artists collaborate and both are primary authors, albums that feature multiple artists but with one primary artist and one-artist albums. And I'm sure classical music has its own complexities too. Even if the players supported all that, most users' tag are such a mess that it wouldn't work anyway. So the easiest approach is to just allow free-form search.
However, after the major NGS schema change, MusicBrainz itself is actually reasonably good at reflecting real life, and allows you to write rather flexible file naming scripts using that data.