My plan for the weekend is to finish Map Generation.
The second to last step will be starting locations.
I have a DB setup that has all the tile types and how much they are worth to each race. I will calculate the city value for every spot on the map and place each players starting city in one of the top X spots (Where X is the number of players). Doing it this way your starting city will be in a great spot.
The last step will be to add the special locations (Gold, Gems, nodes, etc). For any player who got a starting location that was not as good as everyone else they will get a special added to the area around thier city to balance things out.
Doing things this way you may end up on an island but it would be large enough to let you city hit max size.