From what you've described, I'd be hesitant to assume the problem is the water itself. The fact that gypsum temporarily clears it, then a heavy rain makes it muddy again, makes me think the pond is getting a fresh load of suspended clay from runoff rather than having a permanent chemistry issue.
The catfish and crayfish probably aren't helping either. Large populations of bottom-feeding fish can keep fine sediment suspended, especially in a clay-bottom pond. Before considering something as drastic as rotenone, I'd try to figure out whether the pond gets muddy immediately after rain even without much fish activity. That can tell you whether the main culprit is watershed runoff or the animals constantly stirring the bottom.
I'd also compare your pond to your neighbor's beyond just the trees. Things like slope, where runoff enters, livestock access, exposed banks, or even a slightly different clay composition can make two ponds only a few hundred feet apart behave completely differently.
As for plants, establishing some native emergent vegetation around the inflow areas can help trap sediment before it reaches open water. They won't fix an existing suspended clay problem overnight, but they can reduce the amount of new sediment entering over time.
Personally, I'd spend a little money on a basic water test (alkalinity, hardness, pH, and turbidity) before investing in more gypsum or restocking fish. A few test results could save a lot of guesswork and point you toward the real cause instead of treating the symptoms.