yeah, i think you are missing the point. i run two travel websites. our users want to know who is withing X distance of them so they can meet in real life. these people don't care about the other person's EXACT location, they're just interested in knowing if they're near them. for this purpose, geoip would be fine. they can message each other and arrange things from there.
now, neither of my sites have 1000's of users in the same city, but you could simply have a user selectable setting to send you a notification message (conversation) on a set interval of the user's choosing (once a day, week, month, etc). this message would simply say "hello, here is a list of other users in your area, as defined per your settings." with a list of user names linked to their profiles.
in the event of too many users/notifications, the user could simply unsubscribe from notifications entirely.
bonus points if you could restrict the list of users to only those who have been recently active.
see, it's not so difficult once you think about it logically.