Mt. Silver is probably the best, but that's assuming you've beat the game in full or are nearing it. If you haven't beaten the E4 once, Victoy Road is the best, unfortunately.
Then go back in and run around and around and around, killing stuff without mercy.
Your best bet is to find the highest-level trainer you can, and VS Seeker the heck out of them - trainers give more exp than wild Pokemon.
In SS I found the route between Saffron and Lavender town with the bikers and the patch of grass in the middle (forget route #) is the best place to VS seeker..there's so many trainers I usually get 2-3 Minimum to re-battle with one VS use since they're all by each other
i have certain spots to grind. for 20-28 i do right below the safari zone. 29-40 i do right before victory road right next to the chicks house that heals you then the rest of the time i do mt silver and once the graduate to 56-60 its E4 time
I thought there was no vs seeker in soul silver...? Anyways, I would just stick on an exp share and rampage through the league a lot of times. If not, then just use mt silver to fight wild pokemon.
Technically there isn't one, you're right; so to get rematches you have to keep repeatedly going through the same route to rematch that trainer. Just like in Emerald.