Better yet, capture the normally better fares using XAir/EZAir, etc, select seats on your airline of choice and check your seating assignment regularly, like an eagle.
Over the years I've experienced what you did after an aircraft change, etc when booking direct with the airline so I don't believe booking direct is the solution. The airline will also sometimes move pax to undesirable seats.
It's completely incumbent on the passenger to look out for her/his own booking and wellbeing. This, of course, takes a few keystrokes from time to time but heck, I look at as part of the fun!