SM64 Multiplayer - "Rainbow Ride All Stars TAS" in 1:46.03
Tool-Assisted.
19.5k re-records were used.
SPOILERS:
If Mario collects a star and Luigi comes into contact with Mario while he is celebrating, the star celebration is cancelled. This means that we can collect every star in the level.
I purposely delay collecting some of the stars, because if the star celebration goes on for too long and the star celebration gets cancelled too late, it completely messes up the camera until you exit the level. So I need the other character to stop the celebration early enough so that the camera stays normal.
Some objects such as coins have to be loaded by Mario, which is why at some points Mario stays close enough to Luigi so some coins can stay spawned in, otherwise they disappear. For example, at 0:17 you see the coins only load for Luigi at the bottom when Mario is close to the coins. The same happens at 0:32 where I need to keep Mario close to the edge of the rotating platform so the coins load for Luigi on the other rotating platform.
You unfortunately can't do the C Up trick for maintaining hyperspeed after grabbing onto a pole etc. However, you can still maintain speed with the Z button, and if you press Z while maintaining forward speed and immediately fall off and back onto a ledge, you can still retain the speed. My set up requires me to directly turn Mario around (with the help of the Bob-omb Buddy text box) since Mario can only convert backwards speed to forwards speed in the opposite direction.
I delay entering the cannon because I need both characters to enter the cannon around the same time, or else they both won't be able to use it at the same time.