For me it depends on what I’m looking for in a Pokemon game.
Ruby/Sapphire/Emerald is just a good all rounder, though some of its battle mechanics are outdated.
Diamond/Pearl/Platinum is the best if exploration is your Jam
Black/White/Black2/White2 is the best for combat and battle mechanics
Heart Gold and Soul Sliver if you want an excellent post game