I'm in the third iteration of my control scheme, and it keeps getting weirder.
GC Controller
L = Jump
R = Special
X = Jump
Y = Shield
A = Attack
B = Special
C-Stick = Attack
R being special and C-Stick being attack are in place primarily to make wavebouncing easier to do. A neutral special wavebounce with that set up (in the air) consists of moving in a direction in the air with the control stick then hitting the opposite direction + R on the same frame.
C-stick to attack is also useful for maintaining aerial momentum when c-sticking aerials.
Y is shield to give me a digital shield button, which makes shielding more precise than the shoulder triggers allow for (since you can't just remove the springs anymore).
L being jump assists aerial precision. With a standard setup (tap jump off), one must move their right thumb from the jump button to an attack button or the c-stick to do an aerial. That takes time, and sometimes it's optimal to attack more quickly than that. With the L button on jump, the time between the jump and the next attack can be more tightly controlled. For ZSS, this is useful for controlling uair --> uair --> boost kick type combos.
As-is, up B out of shield is performed by holding Y and hitting L and R in quick succession while holding up on the control stick. Up smash out of shield is much harder, and is performed by just dropping the shield and doing jump --> up smash input as fast as I can. I leave it like this for ZSS because up B out of shield is a lot more important.
With all those buttons moved around, I am actually considering moving the B button to something else. Though I currently use that for all my down/side special needs. Without a big technical benefit, I'll probably leave it.