The US issues approximately 1 million green cards per year. 86% of those (860k) are for family based and 140k are for employment based. Country caps for family based GCs is not a bad thing and in fact it does address your point domination by populous countries. In absence of a secondary differentiation criteria, per country caps are a good thing for family based GCs.
But for the 140k employment based GCs, it depends on the company hiring the individual based on a skillset/qualification and sponsoring them for permanent residency. Google doesn't differentiate between an engineer from Argentina and an engineer from India (arbitrary example). Why should one get a greencard within a year and the other have to wait 10+ years?
John oliver did a piece on it last year
https://www.youtube.com/watch?v=tXqnRMU1fTs