Suggestion: replace quality (common, uncommon, rare, etc) on materials with a Quality Rating stat
Handling resources of various different qualities is annoying in terms of bagspace. A single resource, droppings, will take up to six separate bag slots even if you don't fill a single stack solely due to harvesting resources of different quality. This gets worse for items that are bigger, such as rocks. It's also exceptionally tedious to manage at low levels where bag space is at a premium and quality resources are much more scarce. In fact, I mostly just want 20 common linen or something for an item, giving me one copy of a higher tier means I have to farm more and now I have what's essentially "useless junk" sitting around until I'm lucky enough to get another 19 copies of it.
In my opinion, a simple work around for this would be to replace discrete items (uncommon, rare, etc granite) with a single item for each resource (granite) with a numerical quality rating attached. The higher the rating, the higher the quality of the resource. The rating could be a decimalised value between 1-6 representing the six current qualities, where 1 represents "uncommon" and the text would be in white and "6" would represent legendary with orange text. Decimal values, e.g., 2.12 would indicate that most of your material is between uncommon and rare quality on average.
Quality of gatherables would depend on the player gathering skill and artisan equipment. Quality outcomes when processing or crafting would depend on the quality of the input materials as well as player gathering skill and artisan equipment. Quality can never be downgraded and there would always be a 90% chance of quality sitting between the two closest integers to your quality rating, modified by the difference between the upper and lower end.
For example: a quality rating of 2.12 has a 90% chance of the material quality being of uncommon or rare quality. The material we can guess is on average 1 - 0.12 * 100 = 88% of uncommon value and comprised of, on average, 12% rare quality goods (or higher).
Thus, the chance of obtaining rare quality processed items should be 0.12 * 90 = 10.8% and the chance of obtaining uncommon goods would be 0.88 * 90 = 79.2%.
That leaves 10% chance for higher quality than rare and should follow a logarithmic pattern:
With a: 9% chance of proc epic (+1), 0.9% chance to proc heroic (+2) and 0.09% chance to proc legendary (+3).
As you improve your gathering ability the chances of you finding higher quality stuff will improve and the average quality rating will increase. If you're harvesting at a base quality of around 4 then 9% of your resources will be heroic, and 0.9% legendary. Quality indicated as an item, not a rating, would be available at the crafting stage for consumables and gear, but not for any raw or processed materials. For raw and processed materials, you would get a rating only and rating would be increased between the raw and processed stage (thus, you add a small amount of quality when refining your granite into ashlar blocks). When making a wand, however, the percentile chance for each quality would translate into a green/blue/purple etc.
This system is simple, effective, reduces item bloat and is easy to understand. At the end of the day this won't really change your gameplay as you'd still be mining ten thousand granite for the chance at a legendary block.