Unfortunately that is just how code works. Fizz received the trigger to his Q, the abilities is about to be activated once the computer ticks to check it. However before then a knockback effect is applied, beginning to knock him back, his Q then goes off as the computer reaches the command (before being able to loop through again to check if he is being CC'd) so his Q activates and sets his force in a new direction, overriding any other force effects that were on him before.
It is one of those things that you can kinda clean up, but it requires checking every effect on him (and thus checking for each possible effect on him) closer to 10 times per tick as opposed to once per tick. For the incredibly low chances of it happening it generally isn't worth it.
Plus very specific conditions have to be met (Example being when Riven could do this she just had a much larger window so it had a higher chance of going off)
League updates 30 times a second, and multiplying a value that is being checked 30 times a second on every champion with a dash can very quickly get out of hand for how small of a problem it usually is.