South African police fired tear gas, water cannon and rubber bullets to disperse rival marches by hundreds of citizens and non-nationals in the capital.