What makes a good hack is akin to what makes a good game, but I suppose the major things are that hacks have to introduce something new not seen in the game, typically new maps, but new weapons and classes, albeit unnecessary, are cool too. The big difference is that they are extensions to a game and not new games themselves, so they have to introduce something new.
I could talk ages on what makes a good game, but I'll touch on what you brought up and just speak what comes to mind. I hope you don't think I'm all over the place here.
I agree that balancing is important and for most of the reasons you highlighted, so I don't have much to add. I'll say this instead: It's not as important as you'd think. Or rather, it's more accurate to say it's not as straightforward. You can actually stretch it pretty far.
Take FE6's hard mode. Statwise (and JUST statwise), there are several OP characters: Shin, Fir, Rutger, Milady, to name a few. But Shin, Fir, and Rutger, despite having fuckall ridiculously flawless stats (and in the SMs case the +30 crit bonus) are actually balanced by the range limitations in that game (Fir is also balanced by being level 1, but I digress). No bow or sword user gets more than their favorable range in that game (with two tiny exceptions, one of which sucks and the other you don't get in the main game). For them, 2-range (or 1-range in Shin's case) is extremely annoying to deal with (impossible in Shin's case).
Massive amounts of OP things are great as long as they have weaknesses, and those are the weaknesses of those three.
The only really OP character in that game that everybody can agree on is Milady (if you debate this you are missing the point), who has all the tools to use 1-2 range effectively with her 7/8 movement points in addition to one-rounding things with javelins and generally being a top-tier tank. But she could be fixed by simply swapping her stats with Zeiss' stats (except level and CON) and giving her that speed weakness (maybe another nerf, this may not be enough). She's still a top-tier tank, but she can no longer one-round things as easily. She'll get bogged down eventually. More importantly, this no longer makes her definitively better than other units (except the armors, but that is an entirely different issue).
Btw, this doesn't make Zeiss broken with his new (even more) ridiculous stats, since he's still an Est with a low weapon rank and a low level (still at level 7) entering chapters in which the enemies start to become extremely badass (that's his weakness). Ironically, if his stats are swapped with Milady's he's actually a worse tank.
This actually brings me to turn requirements. You have to force people to complete maps quickly, or it really throws off the balance. What seems like an obvious conclusion in the face of arena abuse is dwarfed by the fact that having the ability to turtle through every single situation is bad. Reinforcements are best used to force the player to move quickly. That's why even though FE6's turn requirements for ranked are a joke, you still have to complete most maps quickly because reinforcements are so harsh in that game.
Choke points and wide open spaces are both good in moderation. I have a feeling that when you say wide-open spaces you are imagining Shadow Dragon, New Mystery, or *shudders* Awakening, where it was mostly a chore to get across those giant maps and the massive area made strategy hard and in many, many cases, just plain boring. For all of its praise, FE4 has this same problem. A thing about map designing is that you have to change it up. Personally, one wide open map isn't bad, but it's not good to have multiple wide open maps in a row.
I bash New Mystery for open maps, but one of the most amazing things about their map design is how all of the gaidens were nothing like the standard chapters. It was a refreshing break that forced you to change up strategies instead of using the same tried and true method from before. That is how maps should be designed. When you have a map to get to a castle, have another map to actually take over the castle.
Generally speaking, any map a standard player could reasonably solo (with any unit at all) is also a badly designed map. Standard FE practice is of course to make a map that makes one utilize an entire team. This is generally done by making them numerous and by making the enemies always a threat (i.e. Manaketes did shittons of damage in FE6 and their accuracy made hiding on mountains a futile effort) or by directly doing it with Thracia's minimum unit requirements.
Multiple paths is the phrase you are looking for, I believe. The big thing that makes maps suck is linearity. You want multiple ways to get to the objective, even if it's something simple like "the right path or the left path?".
Any map that seems too linear can also have additional objectives like rescuing villagers, and visiting towns, and stealing and pilfering chests with thieves.
Roy is actually one of the best lords gameplay-wise, because his weak stats in the face of FE6 HM enemies add another dynamic in the fact that you have to protect him.
Btw, thieves cheese making good maps. They add so much depth to the game and options to use them should be added whenever possible. They add another dynamic because now you have more weak units that you have to protect or you can't get the goodies on the other end of the map and of course they add another objective in getting said goodies. Thieves should always have combat weaknesses. Generally speaking they should always have poor strength and defense, though introducing ones like Astohl or Legault before the enemies get tougher is acceptable as well.
I love assassins but from a gameplay perspective they should be their own class, not attached to thieves. Although it doesn't make much sense considering the types of people they are, they should also not be able to pick locks.
On that note, chest keys should never be a thing except in cases where you *cannot* have thieves (and even then, just remove chests from said maps and put them elsewhere), because they make getting chests mundane and boring. Need to get that objective? Just send the invincible Oswin with a chest key. Yeah no. Door keys are acceptable in some cases, but should be avoided if all door maps also include chests. Unlock staves are cool, however, since they aren't usable by every unit and the ones that do use them are generally just as frail as thieves.
I put this on the same level as you do, except I will actually look at the plot if it seems even remotely interesting (I'll give it more of a chance, basically).
I could talk about good story-writing for days, but I'll be brief and start with this: don't make Mary Sues. The same concept for characters' battle abilities applies to their personalities as well. They have to have weaknesses. There are some exceptions (who doesn't like Sanger Zonvolt?), but none of those should ever be the main character. It is almost always only acceptable for the main character to be flawless if they are a silent protagonist (like Link from LoZ or Riou and Tir from Suikoden). Keyword is "acceptable", because even then, a lot of that is because it is very difficult to give those characters flaws. Typically it's only done with silent protagonists if the player themselves make a bad decision (i.e. choosing for Riou to run away from his responsibilities).
You mention Mark from TLP. I didn't really grow attached to him, but then, I didn't use him a lot. A lot of your platonic affection for him is presumably the fact that he spends less time talking and more time splitting heads in chapters. Another interesting point: if you did not use him in combat no doubt you would not like him as much. As they say, actions speak louder than words. It seems obvious, but I never hear it talked about. Rather strange considering this is what makes silent protagonists so good or characters that talk little so good. There's a reason the 3-13 archer is a fucking legend.
Protip: If you make any easily dislike-able player characters, but that you want the player to grow attached to before they redeem themselves, make them very good in combat. Same applies to enemies.
This is more of a specific example of something I covered above. It's an extension of the "changing the maps up" idea. But not all mission types are created equal.
"Defeat all enemies" is a bad mission type, because it offers only one way to reach the goal. It's linear. There's less ways to approach it since all valid strategies end with you killing everything. Adding villages can help, but only if it is very urgent that you reach them (like if a brigand is within 10 or so spaces from a village on the other side of the map. Even then, that's a dynamic that doesn't need the "defeat all enemies" map requirement.
"Escape" however, oh man. The almighty escape chapters are where it's at. Easily the most fun simply for the amount of tension that they bring, being surrounded on all sides and wondering what your next move will be and how you'll keep all of your allies alive. In a way they are linear, which contradicts what I've said earlier, but the tension is what makes escape chapters, so they have lee-way. If you want to avoid said linearity, you could take an escape chapter and add multiple objectives an escape points, you'd get something amazing. Something like this:
As stated before, mission variance can include multiple objectives (like rescuing villagers or visiting towns). Those should almost always be added whenever possible.
Prepromotes are actually really important, because they provide lee-way if you mess up and make the beginning too difficult. Just don't make a Seth and shoot for a Jeigan and you'll be fine. A Seth eliminates options, since it's almost always the best choice and has no downside.
As for cavaliers, they aren't necessary, but their multiple weapon types (multiple options for a situation) and amazing utility along with the fact that they have weaknesses (typical STR/SPD split) make them good choices for starting units.