My current grading system is similar to academic grading in that it's a 0-4 scale. I rarely ever give 0s or 4s as those usually require a total whiff or blowing up the opponent. Getting blown up in pass protection is typically a 1 or "D" as it at least slows the opponent down but it may be a 0 on a run play.
I vary from a lot of grading system in that I weight games similar to an AP high school class. A player's first game gets .01 multiplier while their 16th gets .16. The rationale is that players should be more comfortable with the "system" as the season goes on. It rewards players who play well late in the season which in theory is when you want to be playing your best as the playoffs approach. The hole in weighting this way is that it punishes a player who misses a few games but at the same time, missing time should be punished.
I've been attempting to come up with a weighting system that accounts for snaps so that part time players are at a disadvantage over full time players but haven't developed a solution yet.