First and foremost, let's do away with the random hit/miss mechanic. If an attack connects, it's a hit. What I'd suggest instead is that increasing your weapon skill allows you to attack faster, perhaps not only increasing the speed of the attack animation but also cutting off frames from the end (a less skilled fighter is going to over swing, while a more skilled fighter has better control of their weapon and can recover faster after a strike). I'd shy away from getting a damage boost from skill, otherwise your game can suffer due to HP/damage inflation.
Next, I would add an alt attack button (default to right mouse click; menu goes to tab or something). If the player does not have a shield equipped but has a melee weapon, then the alt attack becomes a parry. For bows, holding alt attack nocks an arrow and main attack shoots (release alt attack to de-nock without shooting). For crossbows, hold alt attack to reload.
Now, for shields I'd almost say that you are always blocking (that's kind of the point of a shield, right?). When you block an attack, the damage comes out of your fatigue instead of your health. If you block a certain amount of damage over a short period of time, your shield will be knocked aside leaving you exposed to attacks until you recover your guard. The lower your fatigue gets, the less damage is required to knock your shield aside. Increasing your Block skill reduces the amount of fatigue lost when blocking and increases the damage threshold to knock your shield aside.
For attacking, I like Chris' click'n'drag idea. This could be extended using the alt attack and dual wielding, allowing you to parry or attack with an off hand weapon, or to attack with your shield. This would combine well with a more meaningful implementation of armor, allowing different types of attacks to work better against different types of armor.
Now, I'm no armor expert, but as far as I understand, armor is divided into a number of layers. Padding not only helps make the armor worn over it a little more comfortable, it also reduces the impact from blunt weapons. It does little against thrusts or slashes, though, not to mention arrows. Flexible armor like hard leather or chain mail would protect mostly against slashing, but would only give minor protection against thrusts and little protection against blunt weapons. Plate armor was virtually impervious to slashes and thrusts, although you could thrust into a weak spot and bypass the armor. Blunt attacks were a different story, and a good mace or warhammer could shatter bones even through plate.
So here's what I suggest for armor: First of all, all armor gives full protection regardless of your skill. Armor also slows you down, but increasing your skill will reduce the speed penalty (up to almost entirely eliminating it). Increasing your skill also reduces the durability loss of your armor.
Then for armor layering: Padding reduces bludgeoning damage by a percent, and reduces slashing and piercing damage by, say, 1/10 of what it does for bludgeoning (so it helps but not much). Flexible armor reduces slashing damage a large percent, piercing damage by about half that, and does nothing for bludgeoning damage. Plate armor makes you immune to slashing damage, and reduces piercing damage by a flat amount (so a strong enough attack can penetrate), and gives a minor percent reduction to bludgeoning damage. However, plate armor also has limited coverage, and the more exposed it is the more likely an enemy can get in a hit (piercing only) that bypasses your plate armor entirely. This could either mean aiming your attacks to hit specific parts of the enemy, or a reimplementation of the random hit/miss mechanic, where higher weapon skill once again increases your chance to strike those weak spots. We could even have fancy animations where you poke them in an exposed spot.
To be clear, a fully armored character would be wearing plate armor on top of flexible armor on top of padding, although you could remove one or more layers if you wanted to.
What's that? Slashing weapons sound like they're underpowered against armored targets? Well... yeah, they kind of are. But that's why
half-swording exists. This allows you to make piercing or bludgeoning attacks with a sword, making swords probably the most versatile (if not the most effective) medieval weapons out there. Really, though, you'd want a spear to keep yourself out of their range, or a dagger if you can get inside their range so you can stab them in the weak spots of their armor.
Now, as for damage, I second getting rid of health entirely. Have damage come directly out of attributes, with, for example, 0 Endurance meaning death. I would also add in "wound" debuffs, like lacerations that need a dressing and bandages to stop bleeding, broken bones that impair your ability to do certain actions, or make you unable to do them at all, and organ damage that causes other nasty side effects. Magic and potions, then, instead of restoring hit points, would heal cuts, mend bones, and repair organs. This is actually something I've already put a bit of thought into, as I'd like to make my own OpenMW game that doesn't have hit points.
Now, on the subject of skills, I'd actually like to reduce (melee) weapon skills down to one single weapon skill, or at least divvy them up by fighting style rather than weapon. Implementing all of the above would make different weapons more meaningful, but as things are now there's really no difference between one weapon and another aside from damage output. I'd rather have more skills for other things (crafting, for example) than a bunch of redundant weapon skills. Same with armor; just have one armor skill that reduces the speed penalty of armor and the durability loss for all of your equipment, not just armor.
Whew, that's a lot of text. I realize it might not be practical or possible or even a good idea to implement everything I said, but hopefully there's something useful in there.