How I originally handled this, was to determine which level the player was teleporting to, my world was grid based, so based on the player coordinates, i could determine what cell they were in and then I added a callback on that level for when it was loaded. So I could keep a load screen up until then and have the player set to flying and player controls disabled.