Uber has its corporate head quarters for the EU in Amsterdam. For a company the size of Uber to have 50 different entities is not particularly special, you will find several other multinationals there with the same number. It makes sense to have one for each jurisdiction they operate in, for example. The term "shell companies" seems to imply something nefarious, and that may very well be the case, but in itself having 50 entities in The Netherlands is not really a sign of that.
It's also important to point out that they do not choose The Netherlands for low corporate tax rates, they are not the lowest in the EU by far, but because of "tax rulings". Those are agreements they can make with the tax authorities that ascertain them how much tax they will pay this year as long as revenue, costs, etc, stay within a certain bandwidth. In the US it can take over a year for them to get any certainty on what their tax bill would be for the previous year, and shareholders hate that uncertainty.
No one thinks it's a good idea to compete in a "race to the bottom" of attractive tax laws, but as far as I'm concerned competing on better service is fair game. Many politicians screaming at The Netherlands tend to conveniently forget the part where their own country just delivers very poor service tax-wise.