My first boat was an I28…a fine boat but it had the same problem. It can be fixed permanently but it takes a little work and a few bucks.
I didn't do the work myself, but this is what was done (wish I had taken pictures):
The mast was removed to take all weight off the compression posts. The posts were removed (unfortunately had to remove some of the head bulkhead). Foam filler was epoxied into the bilge between the two stringers fore and aft of where the compression posts were, and glassed over. A section of mast (from a broken mast off another boat) was measured and aluminum plates welded to each end of the new "mast compression post." Wiring for VHF and mast lights were installed inside. Finally, the new compression post was bolted into the glassed section between the stringers. A mast plate was placed on the top of the deck, through-bolted and sealed. Then the original mast was replaced, rig tuned, and everything worked perfectly. I never had any more problems.
Some of you handier types could probably do the work and save some money. Good luck.