Agree there isn't an easy solution. Simplifying it, easy solution would be in a usual row of 3, there is rows of 2 for larger passengers. That way the larger passenger only had to pay for 1.5 seats instead of 2, which makes it more affordable. But as you say, who is stopping people booking the wide seats as they need space?
The extra leg room seats as an example, I need those as a bit taller but also have problems with my leg circulation so I book 2 extra leg room seats each time, not only for me but my 5ft 2 daughter who i want to be sat by, this leaves 1 less seat for those who genuinely need it.
If they say, only people weight of X or over can book these extra wide seats, and of they are x weight or over then they MUST book these seats. This could seem an easy solution. But the person weighing the stated x at 6 ft 4 might not be overspilling the standard seat, whereas at 5ft 2 they would be. Also they may be a single parent flying with a not thin (so they cant overspill into their seat), but not quite meeting the weight bracket child.
At the same time it is definitely not fare on passengers who don't even know these people to be in painful positions and having to touch skin with these strangers. It's a tough 1.
You sound very considerate and I hope you feel comfortable to fly again soon