Before we get to my idea for the honor system that rewards skill instead of time, we should define what skill is. In my view:
Skill is the ability to defeat an opponent in a fair fight.
Seems logical. If two characters fight each other, the more skilled player should win most of the time (all other things being equal).
The hard part, in World of Warcraft, comes with finding a fair fight. If a level 50 is attacked by a level 60, is that a fair fight? If a level 60 is attacked by 2 level 55s, is that a fair fight? What about if a character is fighting a mob, and another character jumps him? What if the character fighting the mob is higher level than the attacker?
Also, when does a fight end? In the zerg at Tarren Mill, how do you tell when one side wins? Is each individual death the end of a fight, or does it matter if one side pushes the other side back?
If you look at all the possibilities, it seems very hard to actually determine if a fight was fair or not, especially in world PvP. However, if we can see that Battlegrounds are reasonably fair. Both sides start with roughly equal numbers, level, and position. There is no interference from outside. There is a defined starting point and ending point. For the most part, the team that wins the Battleground is more skilled than the side that loses.
So my proposal is to make honor dependent on performance in Battlegrounds.
The basic idea is that each character has a PvP rating, like a chess rating. When a character's team wins a Battleground, her rating goes up proportional to the combined rating of the opposing team. If she win a victory against a good team, her rating increases more. If she loses, her rating goes down.
Then rating determines how fast you progress through the ranks, and what the maximum rank you can attain is. Each week, during Tuesday maintence, your increase in rank based on rating is applied. You would need to play a certain number of matches in the week (say 3) to be eligible for a change in rank. A person who has an average rating might only be able to reach Rank 5 (and take 8 weeks to get there). A person one standard deviation higher might reach Rank 8 in the same time. Rank 14 would need a *very* high rating (three or four standard deviations, probably).
There are a lot of benefits to this proposal. First, ratings are an intuitively simple idea. Everyone understands them. If a Grand Marshal is someone who wins all the time, that just makes sense. Second, since your rating changes with each game, you don't need to play a great many games. However, you need to win in the games you do play.
Third, since ratings depends on victory rather than kills, it also rewards players who play for the victory. People who heal, who play defense, who use strategy and tactics. Leadership becomes a valuable asset, as leadership leads to victory. Right now, I find that a lot of Rank 13/14s aren't really leaders, but loners who just rack up kills.
Fourth, since you now have ratings, you could match players by skill level. The game could match players of equal skill level. Higher rated players get to play other higher rated players.
Now, there are some negatives to this proposal. People who solo and join pickup groups will be at a disadvantage compared to people who run in teams. Matching using rating could moderate this a bit.
The biggest downside though, is that it will completely kill world PvP. World PvP just does not fit into the rating system. You simply cannot guarantee the "fair fight" that the rating system depends on.
The only idea I have to encourage world PvP is to have faction-wide goals. For example, if one of the six Race leaders (Thrall, Magni, etc.) is killed, everyone in the enemy faction gains an extra quarter-rank on Tuesday, and everyone in the friendly faction loses a quarter-rank. By making the gain or loss faction-wide, there is extreme incentive on both sides to help. Otherwise, how would you know which defenders to penalize? Making it zero-sum ensures that people don't simply trade leaders. As well, it may promote larger strategies like having one raid feint at one leader while another raid goes after a different leader.
Perhaps there could be other goals. Maybe each small town (Southshore, Tarren Mill, etc.) could have a flag like the nodes in Arathi Basin. If a flag is held by the opposing side for a full 24 hours, the town is declared "defeated" for the week and everyone gains and loses 10% of a rank on Tuesday. (Nothing changes in town other than the flag, all npcs and quests would stay the same.)
However, even if something like the world goals is not implemented, I think that performance in the Battlegrounds should be the primary determiner of skill and rank. It is as close to a fair fight as you will find in WoW, and is a much better and simpler measure of skill than the current system.