Just thought I'd update with a workaround for this issue.
It seems that the problem only affects Player 1. Since Player 1 is the default Human player and has to start the game, it was easy to assume this was just an unavoidable problem with Hotseat games. It isn't.
The solution is to make Player 1 a 'dummy' Human player, and make your REAL Human players fill the Player 2 & 3 (or more, depending on how many Human players you want) slots. So, for example, you'd make a game like this:
Player 1 - Human (by default) - Team 1 - Random Civ - Random Leader - Noble
Player 2 - Human - Team 2 - Russia - Catherine - Noble
Player 3 - Human - Team 3 - Japan - Tokugawa - Noble
Player 4 - AI - Team 4 - Random - Random - Noble
Player 5 - Closed
In this example, the two real Human players want to be Russia and Japan. Player 1 is not going to be used.
As soon as the game starts, it will be Player 1's turn. They'll start with a Settler and a Warrior/Scout, just like any other game. Immediately click Delete Unit for both of them, and the civlization is wiped out for all eternity. Their score will hit 0 and they will never get another turn. The entire game will carry on as if they never existed. When Player 2 and 3 (the Human players) eventually meet up, they will be able to trade technologies without a problem. Provided one of them has Alphabet, of course. I have tested this and confirmed that it works. The 'bouncing' tech bug only affects trades involving Player 1.
The only drawback to this workaround is that you reduce the maximum number of civlizations by one, because you have to use up an extra slot to avoid being Player 1. But I think it's a small price to pay for being able to enjoy Hotseat games properly.
Hope everyone who posted so far manages to read this.