For a while, tf2's had a hell of a time trying to launch, usually at least a minute and a half. When it finally does launch, joining a server would take another 4-5 minutes, hanging at the loading screen until it finally decides to unfreeze and send client info. Joining a subsequent server takes a little less time, but it's still pretty unreasonable. I was dealing with this for a while, but it's getting pretty ridiculous at this point.
My hardware is not the problem, I get great fps in-game. Is there any fix I can try to do that doesn't involve getting an SSD?