I think accuracy is different for different minerals in different ways, and it depends whether you're looking for a a recent/current exposure to something like lead, or older exposures or overall nutritional status.
Iron--blood, definitely. But some stuff is specifically held fairly constant in the bloodstream, and going out of the normal range indicates that your body has totally lost the ability to compensate--it becomes an acute problem very quickly.
Using blood, if that's what you want to do, you need to know what you're doing. You can test whole blood, serum, or red blood cells to look at things and some are not helpful because they're held constant in ways the others aren't. I only know a bit on which ones for which minerals.
Hair tests can show some things in different ways--since my issue is the mercury in my amalgam fillings, I like hair tests. They use a roundabout method of determining that mercury is the issue, but I don't think a blood test for mercury would've shown anything for me or the kids. Old lead exposures can also show up. Sometimes the ratios of various minerals are more important than the actual values for hair tests.
If you want to read more on hair test, Andy Cutler's Hair Test Interpretation book is a good one.