To answer the question about what current implementations do, I can speak for ours:
Regarding erratum 1383, we responded to the consensus and allow "*" anywhere, and more than once, in the "g=" value. Regarding erratum 1378, we always include the "a=" in our generated signatures and require them when verifying, treating their absence as an error. I would have no problem changing this behaviour to favour what section 3.3 says if that's consensus. _______________________________________________ NOTE WELL: This list operates according to http://mipassoc.org/dkim/ietf-list-rules.html
