For instance, "There have always been racists" is "Il y a toujours eu des racistes" NOT "Il y avait toujours des racistes".
Based on what we're taught in French textbooks/classes, the passé composé is for one-time actions (or things completed in the past, even if they lasted a duration), whereas the imparfait is used for continuative actions that don't have a clear end and may continue until now. For instance, "I've been waiting for you for 3 hours!" would be "Je t'attendais depuis 3 heures!" NOT "Je t'ai attendu depuis 3 heures!"
So why is it that when we want to say "There have always been xxx" we need to use the passé composé? I am thoroughly confused!