Op has many good observations, but I'm not sure his changes would alleviate the main problem: there should ideally be more Swiss rounds.
With only 3 rounds you've a decent system for declaring a WINNER. The runner ups are more a victim to fate than is ideal.
But imo the system works well enough. Better than X wing. And it does produce a clear winner - I don't care too much about the other standings.
I agree, and the problem with more rounds is turning away players. I would be down for four to five round tournaments, but plenty of others (at least in my area) wouldn't, which would cut down on participation. I would rather have an imperfect system with plenty of participants than a more accurate one with less players.