Like any law or ruling, there are certainly loopholes or workarounds. An obvious one would be to obtain a [small] office near/in the customer premises. Then the long commute is to this assigned business office, with a short hop to the customer.
The real problem is you cannot legislate morality or fairmindedness. A market economy can balanece things to the extent competition operates. An unfair employer loses employees (a big deal in IT). However, the EU is especially keen to entrench "employee rights" and thereby lessen competition for employees. If you cannot fire, you will be very reluctant to hire. So the EU is stuck with regs upon regs.