What GameSpy progam are you using?
Arcade or 3d?
In GameSpy3d (dunno 'bout arcade as I haven't used it), you can also add another filter which counts the "hops" you have to go through to get to the server...
To enable it:
tools-> options
refresh-> check "Use automatic hop count when refreshing" and set when to use it to around 250 (at least, that works ok for me)
-> Ok
You can now add a filter (either in standard filtering or custom tab) which hides any server with more hops than X (I use less than 25 (but only play less than 15)), or just sort by hops...
The less hops the faster respons time you'll get, even if you have a higher ping...
I had one nightmare experience where I had a ping of 20 but had 30 hops between me and the server... It took forever to do anything, and I came out on last place... Found a server with 3 hops, but 100 ping, came out on top...
Hope this helps..
Oh, and to everyone who says that you need cable/dsl to play online... WTF?!?!?!?! I've played online since the days of 28.8 and it worked like a charm...
Yes, you get some lagg, but nothing that'll destroy the game... At least not as long as the game is properly coded for multiplayer gaming....