Save that stuff for camo and outfit unlocks--and maybe even vanity title unlocks that you can place over your name, as have been included in other games over the years. But like one previous poster said, I hate it when a game forces me to change the way I want to play it.
With all of its flaws, I think CoD has the best system for all of that. If you want to master a certain rifle, for example, you can do that--and get player cards, camos and badges for ranking it up. If you want to master a certain class, you can do that too, with number of kills, headshots, ADS kills, melee kills, etc., and they have the unlocks for those, too.
Making challenge completion a requirement for ranking is going to cause a ton of frustration for the non-try hard, casual players who just want to play for fun. Not everyone wants to take the game that seriously. At the end of the day, if it isn't fun, you don't play it--and the suggested ranking system mentioned in the OP would make it a lot less fun for a huge chunk of players.