Strict has the advantage of being easy to understand, every player can easy calculate how much damage his attack will do. Be warned through that this creates a situation in where the higher someone's defense the more they gain from a higher defense level (if you have 0 defense the other attack with 100 and you have 1000 hit points it takes 10 hits to take you down, if you have 50 defense it will take 20 hits and if you have 100 def it takes infinte hits).
A minimal damage threshold will avert the "death of a thousend cuts" where many small attack slowly wither kill of a very powerfull entity, this thus prevents zerg rush like strategies.
Reciprocal will ensure that more defense will always make you stronger, if only because you are dividing by a larger number. It also ensures more or less linair scaling in your defense and it's payoff.
There is also a percentage based system where each point of defense is fed into a formula of the type 1-C^[defense] which will give you a number between 0 and 1 that can be used for damage reduction in percentage after which the damage is simply the multiplication of attack and that percentage
hp-=(damage*(1-C^defense)) where C is a value between 0 and 1, which gives some really smooth damage reduction formula's but can be very hard to understand for players. This formula has slight dimishing returns for higher defense levels.
So what you need to do is decide whatever you are OK with complex formula's that most players will not understand or not. Then you need to decide whatever your sytem favours single strong players or a group, and whatever you want diminishing returns, linair returns or actual exponential returns.