The right way to solve all this tabs/spaces indentation mess would be to use Elastic Tabstops¹.
Not really. Elastic tabstops is about enabling variable width fonts to be used in text (and especially programming) while still lining up tabular columns. What gofmt does is to use spaces to align columns; a method described in http://nickgravgaard.com/elastictabstops/ as a "kludge".
1) https://groups.google.com/d/msg/golang-nuts/93t0LWvHrKM/y6oI...