A large variety of Pokemon - not TOO large, especially not if you're in a smaller region, but I love variety and I love to catch them all. I think about 386 is a good upper limit. I don't mind replacements, either. Did I mention that I also like cross-gen evos? It adds a sense of completeness to the game.
I don't like too many Legendaries. Cull it down to a generation's worth and be done with it. In my hack I use the Gen 1 Legendaries and 2 from Gen 2. How the hell do the Hoenn trio, Lati@s, the Regis, Jirachi, the Doggos, Lugia AND Ho-Oh organically fit into FR? You aren't catching them to complete the Dex and trade with friends or use them competitively, you're just collecting them. Replace them or remove them. Same goes for stuffing too many starter Pokemon in the hack. Pick one generation and replace or dummy out the rest.
P/S split. It's essential, and frankly makes strategy much easier when you don't have to look up which types are what.
Decent writing. You don't have to be Michael Crichton, but you can do better than "player is chosen one of destiny prophesy legendary bad guys lol." Give the villains motivation and background. I have several word documents detailing the story that won't even make it into my hack! You are the author, you need to have all the information. If you just make it up as you go, your hack will show, and consequently suffer for it.
Trainer team variety and fullness. I want to fight teams of six, I like double battles, I like it when the enemy AI has access to the same sort of stuff I do. I DO NOT like enemies spamming Protect (Drayano's hacks have this problem, I've noticed) or using full restores willy nilly. Use a super potion, a full heal, but don't pull that Indigo league crap on me, Hiker Jeffrey.
Good mapping. Mapping isn't easy, people seem to think so but it's just not. I've been on it for two years and only recently got to a point where I can churn out an acceptable map. Hacks with great maps are a big plus.
I'm not into trends. Megas, Fairy type, Eeveolutions, forms, they don't impress me as much as good writing and good mapping. A good cave I can explore goes a lot further than disabling poison in the overworld, for example. Don't get me wrong, stuff like that is very convenient, but it's not going to make or break the hack for me.
I also hate forced difficulty. If I have to grind 10-15 levels every time I face a new gym (AFTER I've gone through a route or two of trainers and you've stuck me with Furrets and Pidgeottos to practice, I'm done. Into the trash it goes.
Document your stat and type changes. Sometimes it's necessary to change things; the level curve in GSC was BAD, so certain mons were nerfed before they could ever be viable; Ledyba and Hoothoot, for example; they NEED to be boosted, and if you do that (like, say, make Noctowl Dark/Flying and Ledian Fighting/Bug and give them 535 BST with a new level to evolve) then PLEASE FOR THE LOVE OF GOD TELL SOMEBODY.
Then again, don't do something obnoxiously dumb like make Charizard Dragon/Fire. I almost did that once, and I got very good critical feedback on why that's a bad idea. Tip: it's a fire-amphibian that happens to LOOK like a traditional dragon and that alone does not make it a dragon. Kind of like how salamander, while they look like lizards, are actually amphibians. (The irony is that amphibians tend to be on the aquatic side and Charmander is a fire-type!)
Really, I just like a hack with good maps and good story with some convenient mechanic changes.