Ok, so it's a bit early to tell for sure, but after struggling to get into games for most of this evening, I've changed something on my system and *huzzah* I actually managed to get into a few games in a row 'properly'... no hangs or pauses getting into lobbies or games, no problem leaving a lobby afterwards... I still got a double Host Migration that led to everyone getting booted, just to prove I was still playing FC3 ;/ but it felt much more like it was all ... working.
And the 'fix' is?
I turned off Windows Firewall. Completely.
My bad, I thought I'd already turned it off and was relying on my router's hardware firewall instead. (I wouldn't run my PC without any firewall, obviously)
But I'd been looking at my PC's event log (Run > Eventvwr) and discovered some messages from the Windows Firewall saying it was invoking Call Of Duty rules! Now I do (unusually) have Steam running in the background, but I've not played CoD for a while. And the timings coincided with my FC3 playing.
(I've looked for those messages again, I can't find them! They're in there somewhere...)
I checked the WIndows Firewall status , and part of it (I think the 'Public' section, even though it was showing 'Not Connected') was green for 'on'. I switched it off, and started playing. And *so far* the experience has been much improved.
I'll report back after the next session, to see if it was just a fluke (always a fair chance of that!)
I've got a ticket open with the Ubisoft support, I'll pass it on to them too, if the next session goes as well as this last one.
Edit: couldn't resist another go to see what's what... and... so far, so good. Joining and leaving games and lobbies is much faster, and still just that one Host Mig since I turned off the Windows firewall.
(Sorry, I know it's bad form to reply to your own message, but I thought it just about worth sharing)
After a good couple of days where the game worked nearly flawlessly (well, except for a total crash of the game, and a few host migrations that caused everyone to get booted), it's all gone bad again. I'm back to seeing the same eternal loading screens, both at start and end of game.
If it wasn't for the fact I've enjoyed the actual gameplay I'd have uninstalled the game. Such a shame.