The alternative is the way C++ was handled--for a very long time new stuff would be added to compilers in a non-backwards way and break all your code. This was happening pretty much every time you got a compiler update and was very frustrating. "gofix" seems like a pretty good compromise for using the language while it's developing and not having your code break constantly.
While the Go language is still under development you will run into problems from syntax and API changes. I think the existence of the gofix command speaks more about the quality of the effort put into Go as a whole. They actually put in the effort to make syntax and API changes as easy to fix as possible.