I would suggest languages facing the same problem learn from Perl 5's success, rather than the various failures of Python 3.
Every† minor point release of Perl 5 creates backward-incompatible changes. These can be opted into individually, or on a per-file basis by simply specifying the version of Perl used. It all works. Differently-versioned Perl code can call each other as much as it likes.
There was never any reason why Python 3 needed to be anything other than Python 2 with this at the top of the file:
use Python 3.n
For various values of `n`. Perhaps when enough time passes, that's just Python now, and you have to copy-paste this into all the legacy code:
use Python 2
That's it. Any language can do this, they just have to decide not to make life hard for everyone.
[†] Perhaps not literally every, but it may as well be.