In fact it could be that
$ git status -z
is the way to go, even though it will need changes in parsing.
Here is quote from 'git help status', for quick reference:
-z
Terminate entries with NUL, instead of LF. This implies the
--porcelain output format if no other format is given.
[...]
--porcelain
Give the output in an easy-to-parse format for scripts. This is
similar to the short output, but will remain stable across Git
versions and regardless of user configuration. See below for
details.
The output format is then carefully described later in the man-page.