Having variable-sized mantissa and exponent fields, along with error tracking, we'll get rid of that baloney for real.
Because, in binary, I don't think you'll be able to answer.
"Technically correct" isn't the kind of correct we, as humans, want here. Plenty of languages get it right the way you would naively expect already, as shown here http://0.30000000000000004.com
Yes, some languages print floating point numbers in a friendly way by default (really if you are going with the default format, anything will do). In what way does it change equality tests?
Rational arithmetic has some upsides also, but it also has some downsides.