As you already noticed, the shufflenet branch results in 544 channels and the resnet18 branch results in 512 channels. You could map one of those branches (e.g. shufflenet branch) to the number of filters of the other branch (e.g. resnet18) by using a convolution2dLayer with filter size [1 1] and 512 filters. Then you should be able to do the addition.
I don't know the details of what you're doing and what the two branches are supposed to do, but I wonder if a concatenationLayer would be the better choice here to combine the two branches.