Delta brings up a couple of excellent historical examples detailing the triangle of medieval warfare: archers beat cavalry which beat infantry which beat archers. However, in D&D, this triangle is inverted due to how the system mechanically treats each grouping - the shield's powerful protections are ignored, and the horse's frailty is replaced by incredible strength.
Now, Delta's conclusion is that there is not a way to fix this without mucking about with the core rules of D&D, but I'm not so sure.
Fixing Shields:
The most prevalent house rule I've seen for shields is Trollsmyth's Shields Be Splintered, which allows a character to negate all damage from an attack by sacrificing their shield. From a realism standpoint, this makes a lot of sense for characters in mêlée combat wielding shields. However, this does not capture the reality of a proper shield wall that, at least in the Battle of Hastings, prevented the entire front line from being damaged by arrows.
Here is my suggestion: if an archer fires at a shield-bearing character, the shield grants cover to the defender. Rather than incorporate a % roll, if the d20 attack roll does not show a 17 or higher (for roll high systems), the arrow attack has no effect. Every adjacent shield-bearing character increases this threshold by 1 (so having a character to the left, right, and behind holding the shield high increases the threshold to 20 out of 20. Alternatively, an archer may only successfully hit a shield-wearing character on a critical hit.
For Prodigy, since the dice rolled depends upon the discipline's level, I'd probably just increase the difficulty to hit by 1 step.
Addressing Horses:
Let's look at how horses operate in the real world. As I understand it, cavalry were the glass cannons of medieval warfare - when able to use their superior mobility, they were unmatched, but conditions that made them stop moving absolutely slaughtered them. They are also very sensitive to terrain hazards - a general would not deploy cavalry in a marsh or bog because most of the horses would break their legs.
How do we incorporate this into D&D? Well, a proper hit to a horse's leg will incapacitate it, bringing it down and throwing the rider. This suggests that the AC of the rider and mount ought to be differentiated, with the horse's AC depending on how much they have moved - a horse at full gallop is much harder to hit than a walking horse. Horses, being large, ought to have low AC unless wearing barding (which would also limit the top speed of the horse). According to Wikipedia, we have the following horse gaits and speeds:
Gait
|
Mph
|
12 seconds (feet)
|
6 seconds (feet)
|
3 seconds (feet)
|
Walk
|
4
|
71
|
35
|
18
|
Trot
|
8
|
141
|
70
|
35
|
Canter
|
10-17
|
176-299
|
88-150
|
44-75
|
Gallop
|
25-30
|
440-528
|
220-264
|
110-132
|
My initial solution is to make the AC of the horse depend heavily upon how far the horse moved in the previous round. Perhaps moving with only a walk grants a +2 bonus, trot +4, canter +6, and gallop +8. Ideally, a horse moving at a canter or gallop is practically impossible to hit.
Now, for terrain hazards, apply the bonus as a penalty - a horse moving at a gallop would then have a -8 penalty on all saves pertaining to the terrain.
For Prodigy, each category would make attacking a mounted character one step harder.
Next time I get a player willing to fight on horseback or use a shield, I'll have some rules to test.