I kind of have to agree with Udo on on the Uno design.
Sure the header spacing may have been an accident early on, but by the time
the Uno board was being layed out, the non standard spacing issue was well known
and so it became a conscious decision not to correct it on Uno or provide a means to allow "hackers" an easy way to adapt their Arduino Uno boards to using standard spacing.
If you look at a board like the Seeduino, it looks very clean at least to my eyes and does not look "very very ugly" to me nor does it look like it will cause any confusion to beginners as they will simply ignore the extra set of holes on the board.
The Seeduino boards work with "standard" shields but can be easily modified to work
with less expensive prototype & strip boards and can even
be plugged into a breadboard.
For me the Seeduino is the way to go over an Uno, as it has more capabilities and in my opinion is a better layout and
it typically costs less as well.
Kind of a "tastes great and less filling" kind of thing.
--- bill