There is a problem with your reasoning regarding AD carries. ADC winrates generally being above or below 50% doesn't actually imply that AD carries are strong or weak in the way it might with another class. The reason for this is that every AD carry is always played against another ADC in virtually every game. If ADC A is winning in one game, than ADC B-N is winning in that same game. One winning is another's loss. This is not true for assassins, mages, tanks, fighters or bruisers, who play against teams that don't have any of their class all the time.
What this means is that the ADC class's winrate adjusted proportionally for playrate always sums up to right about 50% (it tends to be very slightly higher given that non-ADC teams are played and tend to win slightly less often than ADC teams). The big determinant in ADC winrates is whether there are incredibly weak or incredibly strong AD carries. If there are very, very weak AD carries, than games played against them will tend to result in wins for most other carries, resulting in a higher than 50% average winrate for carries. We have this right now with Kalista and Lucian, who are boosting everyone else with their 45% winrates. However, in the past, we've had instances where there were 3 really strong AD carries. For examples, I'm thinking of the season 2 days of the holy trinity, who were so good they pushed everyone else's winrates down, even though season 2 was the true golden age for AD carries, although we also saw this a couple patches ago when Varus, Corki, Kog and Trist were all below 50% winrate and Vayne/Twitch were sitting pretty at stupidly high winrates.
Assassins on the other hand are legitimately generally bad, although I will say that they are also more prone to have low winrates even when they're strong (Rengar in particular stands out as a NOT 47% winrate champion right.)