I suppose it depends on one's background. It doesn't bug me that much, but coming from scala background I just take functional/monadic approach and it feels right.
I proposed making it insignificant several years ago and most of the Rust community wanted it to stay the way it was, so it was abandoned. I don't actually really care much either way.
Don't think of it as optional semi-colons, think of the { } block syntax as containing zero or more alway-semi-colon-terminated statements, as well as zero or one bare not-a-statement never-a-semicolon expression giving a value to the whole block. <:D