Quite a few games expose their AI techniques as far as the players go. Often it is a long chain of tactical abilities.
Generally you have something in the form of {target}:{condition}:{action}.
So you might have a target of Enemy, Ally, or Self. Enemy will scan all the enemies within a certain range of your base location. A monster may have their starting point and when nobody is in range they'll wander back to the starting point; friendly units should stay moderately close to the active player. Ally targets should test against all your people in your party probably regardless of distance. And self should always be available.
Condition is generally any one of an enormous list. If it can happen in the game it belongs as a condition. Values of health > x, health < x are common for healing abilities or for knowing when health is high. Abilities can be important, like Flying if you want spellcasters and archers to take out units others cannot, and you may want to target based on weapons of melee or ranged. Conditions like poisoned, injured, cursed, or whatever fits for your game are good. If your system has ranged effects then options of standing alone, cluster of 2, 3, 4, 5+ are good. Lowest health and highest health are good for choosing attacking. You might look at stamina or magic levels, you might look at class like boss or epic boss or minion or weak relative to the characters. You also mentioned ratios of strength or magic or armor or whatever else you can think of.
Some games allow for compound conditions, either conditions from a small set or from the same set. This lets you add things like "...and not fire resistant" so you don't throw fireballs at a creature that either is weak against fire, or immune to fire, or worse absorbs fire. Repeat for various other effects.
Finally you've got the actions, which may be whatever actions the character has available.
do any particular strategies for target selection seem to be superior? IE target: weakest first strongest first closest first greatest threat first (threat being perhaps a combo of atk, def, and short range) unit with highest atk to def ratio first
None is universally best. There really is no most-winning strategy. Sometimes you'll want one, sometimes you'll want another.
For minion monsters that are stupid and only have basic attacks it may be as simple as:
Enemy:Nearest Visible:Attack
For creatures, players, or NPCs who have multiple abilities each one should have triggering factors. Maybe something like:
Self:Health < 50%:Heal
Self:Slow:Haste
Self:Poison:Antitode
... Self:{all bad conditions character can fix}:{solution for condition} ...
Ally:Health < 50%:Heal
Ally:Slow:Haste
Ally:Poison:Antitode
... Ally:{all bad conditions character can fix}:{solution for condition} ...
Enemy:health < 10%:{big attack}
Enemy:clustered 3+:{range attack}
Enemy:undead:heal
... Enemy:{something that makes sense}:{all abilities available} ...
Enemy:nearest visible:attack
You will need ways to activate everything in the character's arsenal otherwise it doesn't make sense for the to have it. If the NPC is capable of throwing fireballs but no AI lines include throwing fireballs, they may as well not exist. Even better if there are multiple ways it may trigger.
Assuming every action has a cooldown time or takes magic or whatever to activate, the AI can simply start a the top and run down the list until it finds one to activate. If nothing is appropriate, return back to the key location (near the player, or back to a waypoint, or whatever).
For your list specifically, they can all work well. Sometimes it will make sense to target the weakest first, particularly if you've got a ranged effect that is likely to kill off a bunch of the weak things and you want them out of the way, or also good for finishing off a group. Sometimes it makes sense to go for the healthiest first, although eventually they'll be damaged enough that they're no longer the healthiest and someone else will be targeted; that's useful if you've got a heavy hitter and you're trying to grind everyone down. Closest first is generally a really good strategy and is generally my preferred default action; when you aren't sure what to do, hit the nearest enemy.
In games with a party of people, generally you'll want different characters with different abilities doing different things. The tank character should likely pick the highest level creature and hit them for everything, occasionally switching if they can combo with another like breaking a frozen enemy. A healer should generally be busy adding buffs and healing team members, then throwing out debuffs and harm to enemies. A mage should generally be harming ranges of enemies and clearing out weaker characters. A thief character should be seeking out opportunistic attacks and backstabs against vulnerable targets, or using whatever abilities they've been granted in your game. Repeat for all types of characters.