Some of my thoughts, in no particular order before I sleep:
As a general rule, no matter what the details of your system, the player should have to make choices during combat, under threat of losing*. Is now the right time to use my shield? Should I try to seal the enemy's magic, or heal my damage first? Can I afford to burn through my MP to try and take him out earlier? It's strategy, it's gambling, it's resource management, it's the meat of a turn based RPG.
In addition to MP cost and consumable items, 'time' is a resource, be it turns or ATB ticks. Maybe a skill has a literal cooldown, or maybe the enemy is immune to a status for a while after they recover. This is a reason the basic attack can be hard to pin down, because it's designed to use no resources and have no consequences: It's easy to over-balance and make it too weak, or to make it too strong and therefor the most efficient action.
A touch of random is good- you don't want the player to be completely at the mercy of the RNG (presumably), but you don't want them to just memorize a turn-by-turn formula to win. Personally, I prefer critical hits and "critical defense" over outright dodge/hit formulas, but you can experiment and pick your own favorite. All-or-nothing abilities are a form of difficulty, but are probably the most frustrating kind, rather than what you'd call "challenging."
If your healers are too competent, it takes a lot of tension out of the fight. If you can remove any damage within a turn of taking it, what threat is there? And when the healer dies, you're probably boned. Limit your healer a bit, either by time, attention, or resources, and supplement them with ways to mitigate or prevent damage in the first place- blind, paralyze, attack debuffs, defense buffs, tanks with taunt or substitute- there's a plethora of ways to do it, just make sure to restrict them as well. They're supposed to supplement the healer, not permanently neuter the enemy.
Depending on the amount of customization and preparation a player can do, and how much you telegraph ahead of time, a part of the difficulty can be offloaded to the player's build choices. It also gives more options for the player to strengthen themselves beyond just grinding for more stats- they can also hunt down a new weapon that lets them steal enemy HP, reducing the burden on the healer without sacrificing too much damage output, for example.
Of course, you can also go in a slightly different direction by adding action commands or timed hits or the like, both to increase your own damage as well as reducing the enemy's. A boss's attack can be much more engaging if rather than simply suffering more damage, the player has to frantically act to avoid being annihilated, and wonders how many more times they can defend it.