If your Pokemon are Level 28-ish and you're at that point, you should actually be perfectly fine! If anything, I suggest training in Route 38, or if you've passed that area, the sea route on the way to Cianwood will do the trick - the Tentacruel there give a considerable amount of exp! I am also playing through Crystal, and I just beat Jasmine; my levels are lv 26 (Heracross), 3 lv 27 (Bayleef, Quagsire, Flareon), and a lv 31 (Crobat) and I'm doing perfectly fine! This is a late answer, but just for the other people looking!
Thanks,
HB
P.S. Kudos for using Xatu, it's one of my personal favorite Pokemon and I think it's highly underrated.