In the UK the main issue is Madison not the bike shop. They are the Shimano importers and handle warranty claims. Any time I have had dealings with them the bike shop has had to jump through hoops to get a fix. It took me 5 months for my local shop to get them to sell me a spare motor ...
A bike with another brand of motor would be a good start. I am now on my 4th motor in 3 years (approx. 11000km). They are not serviceable and even though I like the way they ride my next bike will NOT have Shimano motor.
Looking at the torque curves (online so only an estimate) all the motors have less than 10nm of torque above 130 rpm. At that revs (520 rpm motor?) it would still be delivering 250+ watts.
I doubt very much it is an intermittent battery voltage problem. If the motor is overheating you would also get a W010 error.
Have you read my earlier post ?
Are you keeping some load on the pedals (torque) all the time. If you are spinning fast it is easy to have a part of the crank rotation with nearly zero torque. The motor spots this and reduces assistance. The assistance is a torque multiplier not a fixed output. Try a one or two gears up and...