Unfortunately, condition 3 is not easy to fulfill at all.
In fact, unless you are planning on discriminating against certain players from the very beginning, or restricting the total number of players, every system under your criterion 3 must have $f$ depend only on $a$, and $g$ only on $b$, which in turn means that a player's rating depends only on their total number of wins and losses, and not on their opponent's rating.
That is, if every player begins at the same initial rating $I$, and there are an unbounded number of players, then we have $f(a,b)=f(a,I)$, $g(a,b)=g(I,b)$ for all possible rating combinations $a$ and $b$.
To see this, note that if $A$ and $B$ play against each other in a game $G$, and before $G$ they have ratings $a$ and $b$ respectively, and $A$ wins, then since there are an unbounded number of players, we may suppose with no loss of generality that $A$ and $B$ have never faced each other before, instead obtaining their ratings by playing in disjoint leagues of players $L_A$ and $L_B$, respectively, and that no one from $L_A$ had ever played against $L_B$ ever before.
Then by condition 3, we also may rearrange the order of the games so that all other games played in $L_A$ occur first, then game $G$ occurs, then all the games in $L_B$. Since the games in $L_B$ do not affect player $A$'s rating, player $A$ must end with the rating he obtains after playing $G$ against $B$, who under this rearrangement is a novice at game time. $A$'s rating when he wins is therefore $f(a,I)$. A similar argument, rearranging so that all of $L_B$'s games are played first, shows that $B$'s rating after he loses is $g(I,b)$.