I like use webdav or ftp to manage the 'objects' you called the pics/archives as. So to sync the structure between album name with physical directory brings great convenience.
tags is another method to lable objects. Obviously it can replace any lable system. The weakness is it be too flex that the result depended on how you use them to manage things. The tags number would be huge after several years of running.
Like wordpress ,it use categories to class articles before the concept 'tag' developed on internet . And after that, it keeps both category and tag to organize topics.The category process hiberarchy thread and tags identify detail specific.
I agree album is not a good idea because it's cascade show. But it's not MUST be hiberarchy in technical. a leaf can connect to more than one root easily ,what need to do is to make it looks like a tree that is traditional , easy to understand in mind... So I would like still use 'album' to sort pictures as main thread, and 'tag' to handle place, people, event, etc.
Perhaps you can make a tags group which named 'album' and it could be hiberarchy, and another tags group named 'tags', and add more dimensions of tag groups.
Would you make the gsp more virtual? Glad to wait and see...