Just try copying video between different containers (mkv, ts, avi for one) without reencoding.I do, all the time. AVI is an old container and it has issues with B-frames and also VFR but those are container limitations, not a libavformat issue. All transmuxing between common modern containers with present-day common codecs work fine. There are always edge cases, but that's what they are, edge cases.
you can handle each track separately and mux them back afterward.
Why do that? What's the benefit?
I'm talking about ffmpeg's builtin MPEG2/4/MP3 encoders
You seem to be talking about the state more than a decade back. How's that relevant to 2019? BTW, there is no native MP3 encoder.