Direct file transfer through team drives
On many Google Apps domains, it is possible to create a team drive and share it with someone outside of your Google Apps domain. You can then move files from your drive to the shared team drive. From there you can log in to your other Google account and drag and drop the files from the team drive to your drive, effectively transferring ownership.
The only problem is that while you can create folders and move folders out of a team drive, you cannot move a folder into a team drive.
What I propose is a script that recreates the folder structure into a user-selected team drive, and then moves files into those recreated folders. After this is done, the user could drag and drop the folder into their personal drive.
Anders Odhner commented
I forgot to mention the advantage of this approach: this method directly transfers files, getting rid of the need to use tons of bandwidth and time copying everything.