Well presented proposal and certainly a necessary implementation as Steem ecosystem grows.
I've just tested something out starting from your proposal for canonical links. I wanted to see how Steemit (haven't checked on other apps) handles situations when a user creates a post in the same main category and with the same name as a previous post of his.
Normally the permalinks would be identical, but I see Steemit adds a random string at the beginning of the second permalink to assure different permalinks.