Just played bootcamp and engineers didnt seem to have many problems, other than I've learnt to burn around corners as pyro now.
Ok so you should make the entire map a respawnroom brush for the begining 10 seconds (thats less time than it takes for scouts to meet each other so its fine) You can do this by enableing the respawnroom brush with the game_timer entity, it has an OnRoundStart output so you have OnRoundStart that enables it, people can change class safely for 10 seconds, then an OnRoundStart that disables it with a 10 second delay.
You could even do something similar on a per-spawn basis (this is gunna get messy)
Have a respawnroom brush for every spawn point, that is only 64 units wide and deep and enable it with a player spawn (I think the teamspawn has an onspawn output) you then have a logic relay to work out which team has just spawned (based on who the teamspawn entity belongs to) that enables the respawnroom brush, then the respawnroom brush will have a filter for that team, and when the player leaves the brush have it disable itself. of course this would mean an extra two brushes and one logic_relay (without actually thinking deeply into how it would work) for every single spawnpoint - so you can see how complex it would get.
EDIT: also, you need to change the name of the cap points from roden's to your own