Regardless, all your suggested changes still improve the capability of rsync to run simultaneously on the same tree, so it sounds good. My one niggle is that always keeping the token in the temporary filename without any special-case truncation would allow users to have stronger guarantees about excluding these files.
How about rsync trims just the original filename portion, and if it reaches zero characters and even '.XXXXXX.rsynctmp' doesn't fit, error out. If we want to keep going, rsync could try fewer X's down to zero and eventually try the 9 char '.rsynctmp' filename.
(Well, one problem with the above is the exclude pattern would have to be .*rsynctmp, so you could give up at the 11 char '.A.rsynctmp' instead.)