I add rice grains to my salt shaker to prevent salt dampness. It works, but it doesnt affect the salt shaker holes, which become damp. Their dampness clogs the shaker, preventing the salt from coming out.
Store the shakers, when not in use, in a desiccator (dehydrator). You can buy one, or easily make a desiccator from a sealed plastic box with some desiccant such as calcium chloride, often sold as a moisture eliminator for closets.