I theorize that the best way to solve the fairness issue of insider trading is to make it legal, but incredibly transparent. There is no way to catch the overwhelming majority of the actual insider trading that happens short of a dystopian SEC that continuously monitors everybody's phone calls, movements, emails, and all of their finances or just banning employees of publicly traded corporations from investing in their hard work, which also seems unfair.
The best way to benefit the public is for price speculation by insiders to be telegraphed either in real-time, or preferably with advance notice, to any member of the public.
If Joe Sixpack working at Apple wants to buy or sell stock or options the day before earnings (or any other day) based on some knowledge he has, I'd say it should be legal. He should just have to report that intent to some SEC website. Any member of the public should be able to go to some well-designed SEC website the day before and see that Joe along with 465 other employees plan to buy XXXX calls. If insiders want to trade in publicly traded companies, people should be able to have data on that to notice patterns and benefit from this information. If they decide they want to sell some stock, that should be reported at least in real time, or preferably with at least 1 day notice. If the goal is to benefit the greater public, the information should be designed to flow to the public.
This pre-knowledge of their trades is the rule I especially want to impose on the corrupt legislators, some of whom are known as suspiciously good traders for senile old people. The rules that they can wait 30 days before disclosing their deals are BS. They should be reported at least in real-time, or preferably at least a day before. This seems like a small price to pay for making the rules that pick the winners and losers in the marketplace, as well as the overall direction of the economy.