Balance is mostly attained by intuition and play testing. Games where balance is important usually have extended beta cycles and frequent updates because of this. In your specific example "Magic" attains balance through years of experience in play balancing - if they find that they have released an unbalanced deck they might come up with a ruleset to address it.
Unfortunately I don't think you could really fit balance into any of the UML models - considering that UML is typically used to design transactional or architectural software you would have a hard time fitting the balance problem-set into it (and would likely be wasting a lot of your time).
One of the methods you might want to look into is "zero-sum balance". Basically each "thing" can exert so much "stuff" into the world given a certain amount of external factors. Taking the example of a strategy game you could do your initial balancing by saying that each unit must exert 300 damage points within 15 seconds. This way you can work out hit damage based on, say, attack speed. More complicated systems obviously have more variables and are likely impossible to calculate - so you have to need to guesstimate (intuition): any errors on your part can easily be fixed by releasing balancing patches.
Another option is to try to autonomously break your balance using AI and adjust to avoid that scenario: doing this would likely teach you a lot of the intuition involved in balancing.
If there was a simple way to ensure balance you wouldn't see Blizzard releasing patches for Starcraft, IceFrog wouldn't have been so famous because of his balancing prowess. It all comes down to testing and listening to your community: which are often rife with people who are very experienced with balance - especially if your game's subject matter manages to attract such a community.
One of the main reasons balance is hard because there is a lot of "ghost in the machine" (where a computer exhibits surprising behaviour) involved in games. For example, if you are using a dice-roll/random damage system the random number generator you are using could introduce balancing factors. Another problem is ingenuity: you might make some unit that can teleport and completely underestimate how important mobility is. Things like this simply can't be modelled at all.