For those also wondering about this approach, I’ve implemented my own publish plugin through the multi-publish2 interface, relying on custom data within the maya session to solve it.
The publish of records to shotgun first searches for a match, and if found updates the version column of the record, then overwrites the file on disk.
If the record doesn’t exist it makes it.
The version however is not part of the name as defined in the template.
I also use the version info to make a versioned copy alongside the versionless one.
I don’t track the versioned file in shotgun as of now, simply so the Shotgun > File Load
UI is easier to read, and remains less cluttered. This other post of mine shows more of the thought process.