Introduce SkipRoleAssignment = 1; param into description.ext to streamline server joining and giving more option to custom script the experience. There is already joinUnassigned param which is a step in the right direction.
Also having option to skip map screen all together would be much appreciated. showMap = 0; shows no GPS screen, would be nice to skip this too.
The way I see it, when player joins he should have another predefined script (like init.sqf) executed in which mission maker can handle the role assignment and spawn.
Vote up if you'd like to see more flexibility for mission makers.