I don't know if this would really work (and it would definitely break save compatibility), but what if instead of having super specific craft skills for each material and type of craft, there would be a skill for working with each type of material and another set of skills for crafting different items. A "how do I make this item" skill and a "how do I make it out of <material>" skill.
So instead of having blacksmith for making metal furniture, metal crafter for making metal crafts, armorsmith for making metal armor and weaponsmith for making metal weapons, there would be a blacksmith skill for working with metal, and a furniture maker skill for making furniture, a craftsdwarf skill for making crafts, a weapon crafter skill for making weapons, and an armor maker skill for making armor. This way making an armor piece out of steel would require both the blacksmith skill and the armor maker skill, as opposed to just the armorsmith skill, and making an armor out of bone would require both the bone carver skill and the armor maker skill, as opposed to just the bone carver skill, and so on. Making a building out of wood would require both the architect skill and the carpenter skill, making it out of clay would instead require the potter skill and the architect skill, etc.
For "how do I make this item" skills, there could be:
Furniture maker
Craftsdwarf
Mechanic
Weapon crafter
Armor crafter
Bowyer
Fletcher
Clothesmaker
Architect and so on
For "how do I make it out of <material>" skills there could be:
Carpenter (wood)
Stone carver (stone)
Blacksmith (metal)
Bone carver (Bone, shell, ivory, etc)
Potter (clay)
Glassmaker (glass)
Leatherworker (leather)
Cloth worker (silk, yarn and plant cloth)
Wax worker (wax) and so on, you get the idea