Anti-migration marchers and counter-protesters calling for tolerance have clashed across major cities as tens of thousands of people took to the streets.