How to make multicoloured scoreboard fake player names?

Team prefixes/suffixes seem to be the only way to do this, because fake player names in /scoreboard cannot be JSON. Only the part that has the last colour is the actual fake player name. If that leads to name collisions, you can use suffixes as well, that way you can pick any coloured part of the name to be the actual fake player name.

Here's an example with three colours:

/scoreboard objectives add color_test dummy
/scoreboard objectives setdisplay sidebar color_test
/scoreboard players set c color_test 1
/team add color_test
/team join color_test c
/team modify color_test color yellow
/team modify color_test prefix {"text":"a","color":"blue","extra":[{"text":"b","color":"green"}]}

"extra" is an array, you can put as many JSON compounds into it as you want.

The result of the example commands: