This issue has been raised before. See the relevant discussion here:
Technically, it does not violate the SGF standard, but it adds a lot of needless parentheses, and I fully support addressing this issues, as you suggest.
Interesting that you report that this causes issues with some other SGF programs. Which in particular?