Y
The first thing to remember about taxonomies is that there is never one correct taxonomy per set of elements.
Imagine having the product set {paper, cotton fabric, old wooden lineal}. For a tailor, the categorization within their taxonomies is: {paper, old wooden lineal} -> pattern making supply, {cotton fabric} -> clothing raw material. For a paper manufacturer, the taxonomy is: {cotton fabric, old wooden lineal} -> raw materials for paper production, {paper} -> end product.
So, a taxonomy is not so much about the products, it is more about the users. Each user has his own "correct" taxonomy, or more properly, each combination of a user and task he has to achieve will have its own correct taxonomy (when you have a nail, everything starts to fall in the "looks like a hammer" and "damn, useless" categories). So, how does the world work if everybody has a different taxonomy? There are multiple factors which allow you to get you close to a good solution:
the more similar the users and their needs, the more overlap will there be between their taxonomies
a site is not limited to one taxonomy
navigating a taxonomy is not the only way to discover products
As a user experience specialist, you will want to first create a composite taxonomy which gives you the best overlap of the individual correct taxonomies of your users. This can be done with the usual methods for discovering user needs, this time focused specifically on taxonomies. I can't enumerate them here, this is a topic which cannot be exhausted in a single book, much less a post here.
The second thing to consider is that often, there are several good categories for a single product, each following from its own taxonomy. You should simply use them all at once. On a fabrics website, the same fabric can be listed under "Fabrics by purpose -> Clothing fabrics -> Winter fabrics", "Fabrics by material -> Natural fabrics -> Wool mix fabrics", and "Fabrics by color -> Weaved pattern fabrics -> Herringbone pattern fabrics". The user can navigate to it starting from each root. Amazon does something similar, look at all categories under which a book is found.
The third thing: You will never be able to create a composite taxonomy covering all the individual taxonomies of all users who will ever visit your site. And users need lots of time (and fail often) to find a product categorized by a taxonomy which differs a lot from their own. So provide good search in addition to taxonomies.