Your reader macro, after collecting all the tokens, can iterate over all of them and check if any of them are of form FOO++ (same thing for ++FOO and --). If so, it can split that token into FOO and ++.
This should be enough to type the ++ operator in a more natural style - without any spaces between the variable name and the operator.