Emerald. Because... There's just sooooooo much for the single player to do!
I mean, 1. the story was a huge improvement over R/S by having both teams to combat, having two of the coolest box art legendaries duke it out as per their rivalry alluded in the previous games.
This leads to: 2. Giving Rayquaza an importance (another cool legendary) to the game outside being some post-game 'mon to catch.
3. Upgraded difficulty. May not say much for some, but if you started from scratch and chose to lack a certain team balance like I did, the Pokemon change-ups and slightly smarter AI would really throw you off and give you a bit more of a fight.
4. Most important reason of all: VERY HIGH REPLAY VALUE. And compared to previous gens R/S already beat the crap out them from the start. But Emerald throwing in Gym Leader rematches (how long have we been begging for that), giving Berries more purpose, upgrading Breeding, giving us the ability to explore extra areas so we DON'T HAVE TO trade to get both fossils and certain Pokes AND Battle Frontier (Damn you Battle Factory, I'll finish you yet!) alongside some other fun side things, Emerald has got to be the most rewarding (and battle centric) single player game within the Pokemon main games.
Love that game and I'm still playing it. EDIT: Had not been for Emerald, I'd simply play Ruby because of replay value, being very fun, a much better difficulty compared to the last gen and I enjoy the cartoony vibe the overworld sprites and backgrounds had.