I'd have to review the code for how Assists get instantiated for detailed suggestions. But off the top of my head, and a road map of where I'd suggest looking:
(1) Have a custom script (or add to an existing one) add a check for the OnMove() event. Where that script is applied would either be: (1) The player prefab, (2) the assist prefab, (3) some sort of game manager object that handles events globally. Most likely 1 or 3.
(2) In said event, OnMove() receives the MoveInfo of the move being performed, and the CharacterInfo of the player performing it.
(3) You'd want to do a check in the OnMove() to see if the move is the assist, and if so you might also want to try checking if the player is the player with an alternate color set to it. Then since this would happen in the 1st frame it may not have instantiated the assist prefab yet, you'd want to flag a boolean saying it should update the assist after it's been instantiated. So in the Update() or FixedUpdate() of the custom script, you'd have an if check for that boolean to be true AND the assist has been instantiated, then once it does it adjusts the assist's color/palette then flips the boolean back to false.
That's where i'd start looking.
If you put this code on the Player Prefab then you can thankfully assume that the parent of the current gameObject has a ControlsScript component attached to it, which you can grab to figure out if your component is playerNum 1 or 2.
From there I'd imagine it'd take testing to find the most efficient way, but that's one way off the top of my head I'd go about looking for an answer.
Though yes, an OnAssist(MoveInfo assistMove, CharacterInfo assistCharacter, int ownerPlayerNum) event or something along those lines being added in the next patch might be nice and should be requested to MrMind when available.