Not only is it unnecessary to freeze tracks, it is even unnecessary to record all the input. With external synths that have MIDI data in the project, I can select to include live input when exporting and the sounds from the external synths get included. (For finished products, of course, I record the synths so I will have the tracks if the synths ever stop working.) Naturally, you can't fast bounce this way.
When I freeze a synth track, I usually freeze the synth itself in the browser rather than the track.
Whether frozen or not, live input or not, my export seldom takes more than the length of the song plus a minute or so—and this is with 60+ tracks. I hope the other suggestions help.