I'm torn
Crystal is by far the most fun game in the series to play for me, the sprite style is gorgeous and there is a lot more to do in Johto than I think most people realize, because so much of it is optional. The lack of really needing to worry about EVs or IVs (bullshit ass mechanics imo) makes it easier for me to just relax and enjoy playing it. I also like the region and pokemon themselves the best of any region.
If I'm trying to be "objective" then Gen 3 is better. Hoenn is bar for bar, probably the best pokedex with a huge concentration of strong designs, especially starters and legendaries. The map is mostly rewarding to navigate (the rock above Mauville notwithstanding), it has one of the best elite fours, Battle Frontier is pretty fun, nice visuals etc. Tons going for it.
Including FRLG which are the most perfect remakes of gen 1 we'll ever get (minus Giovanni not having a Rhydon(???)), plus the Sevii Islands which give you so much of that Johto flavor back anyways...Gen 3 is the superior generation.
But no matter what, I just have more fun in Johto and the simplicity of Generation 2.