How to beat Mossdeep Gym Leaders in Pokémon Emerald?
I advise keeping the Sableye.
In 3rd Gen, it has no weaknesses. Not only that, but it can do more damage to psychic types.
Night Shade is not the best move in this situation, unless you grind up the Sableye, as it only deals damage equal to his level. I would definitely, however, advise grinding his level up, 41 would be a good level as he gets Shadow Ball there, which may lower SP. Def. It's also Super Effective against Psychic types and gets STAB. So a good move choice.
I would recommend using Swampert against the duo, as Surf is 2x effective against Rock/Psychic and hits both of them at once. Swellow is also a good choice since Steel is 2x effective against Rock/Psychic and Flying is immune to Ground-type moves (so you won't be damaged by Earthquake).
Ideally, your Swellow should have enough base Speed to go first and you'll hopefully take down one of the two with a quick Steel Wing + Surf combo. The only problem here then is Xatu, who is Psychic/Flying and will take neutral damage from Surf and Steel Wing. If you could teach your Swampert the Rock Slide move (or any other Rock-type attack move), you wouldn't have to worry about switching out. Otherwise, switch to your Spheal to hit with Aurora Beam since Ice is 2x effective against Psychic/Flying.
If you're having problems against Light Screen, I'd advise getting Brick Break if you can as it removes Light Screen and Reflect, although I'm not sure if you have access to Brick Break by the time you get to Mossdeep.