I agree most with Nude, but I don't think it's impossible to balance the three.
I'm pretty sure Dragoon and Hydralisk both have the same type of attack, Explosive. This means they do 50% damage to small units, 75 percent to medium, and 100 large units. And the ghost has Concussive attack (100% to small, 50 to medium, 25 to large). This means that, attack-wise, you only need to find a balance between the two types of attacks.
Taking all these into consideration:
Unit Cooldown
Type of attack/Size of unit
Unit move speed
Range
Unit cooldown is obvious. What I is find a common speed to compare all 3 speeds to, so use a unit with the lowest cooldown your game will have. In the case of the 3, let's use the Hydralisk. Then you divide a unit's CD by the hydra's CD. Then you multiply the number you yield from that with the attack of the hydralisk.
Hydralisk
Attack: 100
Def: 10
CD: 15
Dragoon
Attack: 100
Def: 10
CD: 30
The formula would be: ((dragoon CD/hydra CD)*hydra base attack)
translating into ((30/15)*100)+100 = 2*100 = 200.
As the CD's of the two units suggest, hydra is twice as fast as dragoon, so it would make sense to double its attack, right? No. Even though the hydra attacks twice as fast, the armor its attacks encounter are also twice as much. For that balance, you'll just have to find formulas you like and test those. What I like to do is adding only 33% of that yield and add it to the base dragoon's damage. 33% of 200 is 66. So dragoon would have 166 attack while the hydra would have 100.
Let's put this into simulation:
Let's put the dragoon 20 attacks into the hydra, meaning the hydra would've done 40 attacks by then. We'll talk about the type of attack as well as size of units later, for now, let's just keep it simple.
Dragoon - 20*166 = 3320
Hydralisk - 40*100 = 4000
Uh oh, we've a problem. Hydra is doing 680 more than the dragoon! Let's apply armor and see, now.
Dragoon's attack reduced by armor: 20*10 = 100
Hydra's attack reduced by armor: 40*10 = 400
Now let's apply that...
Dragoon's ultimate damage = 3320 - 100 = 3220
Hydra's ultimate damage = 4000 - 400 = 3600
As you can see, the gap has become smaller. As the more attacks the two exchange, the closer the gap beceomes, and further on, the dragoon would overpower the hydra. So what is to be done about this? You have to find that midpoint of which both are doing about the same damage. To do so, decide how many attacks you want them to exchange, then balance their attacks to that. The more attacks they have to exchange, the more precise you can close the gap.
All this, of course, is just one factor. Take all the factors into consideration, and for a mass map, especially how well the units can bunch up. Perhaps ghosts can bunch up much better than dragoons, so maybe have the dragoons pop twice as fast as ghosts. But doing so would make it almost seem unfair, because if you didn't have to bunch, the ghosts would be screwed (perhaps that could be worked into strategy). So you'll have to accomodate the ghosts for that.
Anyway, the system isn't perfect, but it could be worked to be pretty well. All the number typing takes some time, but once you get used to it, it becomes pretty fast. Balance with a touch of your own flavor.
DISCLAIMER: This is just what i've been doing as i'm further improving my balancing system, so I'm only sharing what i know. Take what you like, expose what you do not, dont flame me T-T >_<
None.