¿Conoces la propiedad
Transition-timing-function y uno de sus posibles valores steps()?
Otra forma sería aumentar los keyframes
Código CSS:
Ver original0%{background: black;}
33.3% {background: black;}
33.33% {background: red;}
66.6% {background: red;}
66.66% {background: white;}
99.9% {background: white;}
99.99% {background: black;}
siempre y cuando no la declares como alternate