Done a bit of experimentation. I have it working much better now. I still get the occasional crash, but mostly I am zoning better now. I think I probably crash about 10-20% of the time now, even when duoing, rather than on nearly every zone!
I'm not sure which of these exactly helped, maybe it was all, but this is what I've done differently.
1) I used to use Bit Torrent to download stuff, and I noticed that even when you turn it off, there is still lots of data coming in. In the past I've tried playing with it on and off and still had crashes either way, so I assumed BitTorrent didn't really affect anything. Recently I decided to have it turned off completely, and leave it off for a while before I'm going to play, so that all communication has stopped.
2) I turn off all software firewalls. I had Windows firewall at first then switched to ZoneAlarm. But now, when I play SoD, I turn it off completely. I can turn it on again when I finish playing.
3) I used Diskeeper which in automatic mode, degragged my disk extremely thoroughly over the course of about 4 days. After it was looking nearly perfect, I've turned it off. Now I play with that switched off.
So basically when I play now, there is absolutely nothing running in the background on my PC. Just the clock and speaker icon visible on my taskbar. I now zone in <10 seconds most of the time, sometimes it takes a bit longer, and sometimes I crash. But it's mostly a lot better now. I'm also getting less 1017's when logging in too.