We keep ours in fridge the whole time we bring them out if customer asks for them! If you goto a shop that leaves them sit on the table the whole day (and especially overnight) open the lid and I am sure you will get the most discusting pile on the lid and probably some mold and even rust on the lid(if metal)!
Empty each one everynight, wash the shaker and lid. refill in morning with fresh cheese. Previous days cheese can be used for cooking. Also, different brands of parm have various amounts of moisture. You might try a different brand.
I have found that Pecorino Romano works better for shakers depending on which brand…some have ingredients that help prevent caking (corn starch, etc.) that work much better than the 100% pure stuff…we do this only for shakers and use the 100% for everything else…defintely has helped alot and we leave them on the tables all the time now but we go through them quick