I use two tags: “all” (always set in a presets docker) and one custom tag (always set on RMB pop-up).

As I hardly ever use any default brushes, the “all” is basically only there for me to find a preset, that I just created and assign it to my custom tag. I also store some old brushes there, before I finally remove them.

Answering some other of your questions, I never really use the search bar, as I have what I need in my custom tag and still find it more convenient to find my untagged, newly created brushes, just by scrolling trough the “all” category.

I use changing the name of my one custom tag, but just for bundle exporting purposes - I want people who downloaded my brushes have them in a tag with name and version of the set, and the way to get this is to assign them exclusively to that tag. I don’t use undeleting a tag.

“All untagged” can make it easier to navigate trough what is the most important for me - assigning new presets to custom tag. But if you think about brushes inheriting the tag (which is an awesome idea, and I want it) it’s probably not that needed.

My ideas for improvement:

creating one tag for the whole bundle - if someone shares their brushes, they all land in one tag (the name could be the same as the name of the bundle). This way, one can easily navigate trough new brushes they just downloaded, test them, and then assign those they like to their one custom tag (or tags, but as I see most people also use only one). It would separate imported brushes form each other, and the default ones, and would also make it much easier for brush creators - they wouldn’t need to worry anymore if all the brushes will be included in the appropriate tag. This way we would lose the ability to create more than one tag for exported brushes, but I don’t really think we need it so much.