When was the last time the guts were out of the tank? Filter and strainer sock changed? Wiring checked in there? Try disconnecting the harness inside the fairing and resetting it. Some corrosion may have built up causing your bouncing needle.
As far as the moisture, the gauges would need to be opened and dried out. Then put together with a sealant. But that won't guarantee that that won't happen again.