This is what I did to make the timing eaiser on the GCC.
Since you have to Dash > Dash Attack > Upsmash. You want to configure your controller to something that works for you to be able to do that. For me I use the GCC, so I do it similar to the Dash> Down C-Stick> Up + Z that everyone mentions.
Although that requires timing of 3 things. Hitting the C-Stick, Up on the control stick and pushing Z in the correct manner. Well, if you start your dash by putting the control stick into the upper left or right hand corner and keep it there for the duration of the combination, this will keep you running and act like the control stick is in the up position. So all you would have do is time the C-Stick and Z pressing timing.
Also if you were like me and found that you keep hitting Z sooner than down on the C-stick, move your option to the L or R trigger. This helps add delay to your timing as you have to push down farther to get the attack to trigger.
That is what I do.