There should be a timer indicating how much spawn selection time is left and the time should be much longer than it already is. Now the default-spawn was a great idea, don't get me wrong, at least now the game starts, but due to the wild variations in loading times a lot of players load into an already spawned, well under-way game. This is unfair, and no amount of optimization will fix that, however 30 extra seconds will. The timer is to allow people on teamchat/team-voicechat to not fall victim to their own debates on best start point and know when it is time to come to an agreement.
What I would do is have a normal timer (like now, but visible). If everyone isn't ready by the end of that timer you get the option to force start. The game only starts when everyone is ready or when someone presses force start.