Doesn't weighing, by default, negate the effect of humidity? Whereas measuring by volume amplifies the effects of humidity. Help me out here!?!
If it absorbs water, that is becomes hydrated, some of the weight would be water, not salt. Volume might be affected too, but volume is so inaccurate it would be hard to determine that. The problem with measuring by volume is that granules have highly variable geometry and "packing efficiency," the way items fit together and how much space is left between them. What you're interested in is mass, not volume or density. The only way to measure that is by weight. So I'd recommend, if you're in doubt of whether your salts have become hydrated, do a little test like I mentioned. If a given weight of salt in a given amount of water gives the expected concentration of calcium, or whatever, you're good. If not you can adjust, or get a fresh supply. Note also that some salts can change to others, e.g. calcium hydroxide, when it absorbs water, reverts to chalk, which is useless in brewing. If a drop of acid placed on a sample of calcium hydroxide gives bubbles, it's gone bad. Some salts may also be impure when you buy them. So if you want to be sure of what you're adding to your water, either test everything to verify it is what you think, or find a supplier who can absolutely be trusted. That could mean getting expensive, lab grade chemicals, so I'd rather use homebrew retailers and test things.* Anyway, assuming your salts are what they are supposed to be, weighing is still the only way to know how much you're adding.
*That said, I don't think I've ever bought something that turned out not to be exactly what it was sold as, at least within measurable tolerances.