The way to reduce the complexity of the hardware is mostly by using good libraries like arduino or mbed(or maybe goot rtos's with plenty of drivers, if there's such a thing). Do you use them ?
And as my example vs the OP's article with arduino, it seems that micro python offers a much better interface to said libraries. Not sure it's only the language, could be also the library implementation.
With regards to performance penalty : micro python has some unique compile mode which brings the speed to maybe 8x of c.
Assuming you're willing to waste some memory and speed(say a first version kickstarter product, or a low/mid volume commercial product) , you also get rid of pointers(which are the source of great complexity and bugs in c) and gets access to much better testing tools via python.