I'd like it if there were different *quality* ores in the game, so that some needed little or no processing, other than digging out of the ground (gold nuggets, would work as it currently is in the game), while most would need to be pulverized by a rock-crushing machine (or a few good dorfs with sledgehammers), and then melted.
Miners would still only get ore as commonly as they now get stones. In addition, the blacksmith skill would be used to determine how much pure metal you'd extract from a given example, so this might actually be random, until the blacksmith has his/her shot at it, in ye olde blacksmith shoppe.
This would definitely curb the ready supply of precious metals, making them a lot more, well, *precious* (and more realistic), and it would also raise the lowly but ubiquitous Blacksmith in importance.
It's historically fairly accurate, since one of the midieval blacksmith's primary tasks was beating the everloving hell out of ore, until it became metal.
This could just be represented as a percentage chance for the blacksmith to get metal, per block of ore, based on the skill of the blacksmith.
Having a rock-crushing machine (a simple water/labour-powered barrel crusher would work) might reduce the time it took to extract any metal, and might also be the best means of extracting any gems-possibly giving you an additional percentage chance to extract a gem from a gem-bearing rock.
Gems might still be occasionally found by the miner, especially miners of high skill, but a rock crusher would give a second (small percentage) chance of turning up a gem that wasn't obvious to the miner.
As an aside--it's not just gold nuggets that are found "loose", in water or mud, or even scattered on the ground, gems can be found too, they just tend to be hard to identify, compared to gold nuggets.