I started looking into this the other night, as I would prefer this ability as well. As best I can tell, the logic for placing based on an already-existing starting location is not exposed, but I *think* a work around can be done.
In the loading screen lua file (Loadscreen.lua, I think?), it controls when the splash/background is displayed. Toward the end of that file, once everything has finished loading, it will hide the background. My thinking, and what I started to work on the other night (but didn't finish), is at the point before the background is hidden (revealing the map), the human player and a random AI player swap their locations. Basically you would need to:
1. Identify the location of all of the human player units.
2. Identify the AI player you're swapping with (I don't know yet if it's worthwhile to limit this to major civs or not), identify all of the AI player units.
3. Place the human player units in a holding area not near any other player's units (I don't know if having proximity to another player's units at this time would trigger the "meet player" logic yet.) - basically a temp location.
4. Delete existing human player units.
5. Place AI player units at former human player location. "Unreveal" map for previous AI player location (not sure if this can be done either...)
6. Place Human player at old AI player location. Unreveal map at previous location.
The easy part, the random - basically find number of civs, grab whatever time it shows on the second hand of the clock, and divide that number by the #civs. If it's 0, no swap. If it's anything else, swap with that AI player. If I get it functioning, I'll upload it to the mods area.