The rules are not unfair overall. Though there are cases where many people feel they are unfair. SS has several bend points. These bend points return a relatively greater amount of SS dollars to lower income people who contribute to SS than higher income people who contribute to SS. People who don’t pay into SS because they work in or for certain government employers look like low income earners, but actually they are often among the higher earnings. WEP and GPO simply adjust the benefit to correct that error. Keep in mind that the OP’s spouse had a lot of extra take home pay for many years, thanks to not paying into SS.
As somebody who has paid SS taxes on every penny I have ever earned, I would be very upset if people who paid very little into SS got the same benefit as me. After all they kept all the money that I had to pay into SS. Why in the world would they think they should get the same benefit as I do? That would be very unfair.
The solution, IMO, is to do away with the exemptions for paying into SS. They simply cause a lot of confusion. When everybody pays into SS on an equal basis, then everybody can be treated the same. You might read this article as the author explains it a lot better than I can.
https://www.creators.com/read/your-social-security/05/22/explaining-wep-and-gpo