Freelancers in Germany also have a problem which is called "Scheinselbstständigkeit". If you do too much work for only one client (there are no clear rules to follow) the public social security system might decide you are to be treated like an employee and your client suddenly has to pay pension insurance and health ensurance for the time you worked for them. Companies fear that because it's a huge chunk of money and to my knowledge this also contributed a lot to "Arbeitnehmerüberlassung" spreading so much into highly skilled positions.
Only if your company has a base in Germany. In my case I worked remote for a US-only company as Scheinselbstständiger, got the full US rates (ie 3x higher than german rates), and paid normal insurance. They had to pay nothing into the German SS system.