One thing they could do to reduce the fights being as scripted as they are is randomizing the order of attacks somewhat. The boss usually does all their attacks in a completely set pattern, usually only thing randomized is if an attack has variations it will basically flip a coin on which to do.

One of the best examples I can currently give on normal difficulty content is Thaleia's last boss... The fight will always do the same attacks, in the same exact order every time you go through the fight. Once it's finished one loop of attacks, the attack order does get somewhat randomized, with certain attacks still paired together into a single mechanic but you actually have to react to the boss as it's not just doing everything in a predetermined order.