If different microservices running different versions of their dependencies and being developed in different repos are seen as problems, what would you say the advantages of microservices are, since you say that "microservices are great"?
I though the point of microservices was mainly that they could be developed and deployed completely independently (in different repos, by different teams, in different languages, with different dependencies).
(Also you can scale them independently, I guess, but you can often do that just by changing the config of your database or app server.)