The way that I do it is actually pretty simple.
In the "Outside Room" action for Link, put this code.
(This is an example for going down out of a room)
if room = [whateverroom] {
if [LinkObject.y] > [TheBiggestYCoordinateOnTheMap] {
room_goto(RoomHere);
global.next_positiony = [Where you want him to start];
global.next_positionx = [Where you want him to start];
}
}
Then, in the creation code of the room, put
Link.x = global.next_positionx;
Link.y = global.next_positiony;
Hope that helped some, if you actually understood it lol, if not, I can create an engine for you.
Discuss.