This can be done with Crazy Hand's Move Logic table.
If you replace the IASA function (input-based interrupt logic) of fox's shine with that of a
standing state, your input for crouching will cancel the shine on the first frame.
Experiment with these pointer numbers for "IASA function" on the move logic table:
8008A4D4 -> standing
800CB334 -> falling
This doesn't seem to work on the air shine, so alternatively you can use an animation interrupt for the same effect by forcing a
falling state. Note that doing this effects only the end of an animation, and so is actually 2 frames; but you can change it to 1 with FSM.
Experiment with these pointer numbers for "Animation Interrupt function" on the move logic table:
800CB2F8 -> falling
80099BD0 -> special falling (helpless)
80099E80 -> standing
For a couple more examples on using animation interrupts, see the
bottom of this post from the
Customized Movesets sub-forum