Bloodeyes Cyclops are better than Free Cyclops in terms of initiative, speed, and safety. If, as with most dragons, you simply need to prevent a single empty cell between the Cyclops and another friendly unit, then the Free Cyclops requires approximately 30% of the battlefield to be clear so that it doesn't smash half of its own army with its club.
And friendly units can be positioned further away. Or moved away from it if the enemy can get within melee range.
The situation with Goblins depends on the type of enemy and the map. Shamans are useful against mages, but I still find Trappers more useful. Mages are mages, but even mages have mobile units. (I like to set up ambushes for various types of Catapults). But don't underestimate the Shaman's spell. With a sufficient level of rage and the number of these units, they can even give a hard time to the strongest enemy.
Assassins: I used to like playing with Chieftains, but recently I switched to Executioners because of their ability to break the enemy's morale.
Orcs are a separate topic: Warmongers are simply awesome! I still remember the original "Lords of the Horde" campaign where, playing as Kujin, I had to unite the tribes. I threw these "football players" (that's what I called them after that battle) into the thick of the enemy forces of the last enemy hero and only controlled them. Endless retaliation is great!
=====
Another race where I liked the balance is the Undead. Lucar and Warriors can equally determine the outcome of the battle. Any type of Zombie, especially under the command of Orson, is a great force. I didn't notice any difference between Ghosts and Spirits, who is better/worse. As well as Banshees and Death Knights.
======
In general, balance can be found in any race. Artifacts, skills, and abilities of both the units themselves and the hero can smooth out all the shortcomings.