Give physically heavy magics, such as earth or metal, and knockback-heavy magics, like wind or explosion, a block-strain multiplier
Give weapons that are heavy, like clubs, a block-strain multiplier.
Add a certain amount of block-strain for every point of knockback from armor or equipment.
Add these stats together for the total amount of block-strain for any attack.
When an attack hits a block of any type, multiply the amount of stamina/magic drain by the block-strain.
When a block is broken, the target experiences a penalty. For stamina-based blocks, the target cannot sprint or high jump until stamina reaches 25%, and extra damage is done to the shield, if they have one. For magic-based blocks, the target cannot use or charge magic for 5 seconds, and your mana stores are locked at 0. In all cases, they take an extra burst of knockback (calculated by amount of strain taken since the block was initialized).
Ideally, the threshold for the penalty would be fairly low, as to make blocking tactical investment of sorts; you put your available stamina/magic on the table to nullify an attack. If you don’t have enough, you fail and get punished.
Blocking is a catch-all solution to any damage that you might risk in combat. You nullify knockback, status effects, and basically anything else they can directly throw at you. It doesn’t matter that you’re capable of yeeting them across the map on a whim, they block, it fails.
Not to mention the fact that the knockback stat is functionally useless. A sunken piece with a forceful enchant is next to worthless. Min-maxing knockback is a meme; this way, there would be a use for it. Also, melee combat gets an extra bit of added depth: pursue armor, destruction, or knockback.