*cracks knuckles* Ok time to rant about Shulk. TLDR at the bottom.
As a Shulk main for now, I find I have to be stupidly precise in order to land anything. Even though my range is enormous, they aren't active at all and both have decent start up lag and horrendous end lag. For example, the attacks where he stabs his sword out and the beams comes out shortly after have very few active frames unlike other characters like Link's U/D-air, which are active as long as the sword is out. Shulks stabby moves stop having a hitbox once the laser portion finishes coming out, which means Shulk will stand still looking like an idiot for a long enough time for you to just run in and punish him with whatever grab or dash attack you want. Even nair, which only has a few frames of lag is pretty easily punished if your character is fast enough or i space it wrong. which means if I want to hit you out of an attack or in neutral I either have to:
a) hope you telegraph it way in advance
b) get a read
c) be lucky
I think he has the best counter or one of the best in the game, since its active for a super long time, ignores shields and can control the knockback direction provided i'm on the ground, and hit characters sitting on the ledge (though that almost never matters) meaning I can counter things the other characters can't and still hit you, like slow projectiles. I've gotten kills on Bowser Jr. and Zamus' who followed right behind there projectiles that I countered. However like all counters you can deal with it by just waiting for the active frames to end (granted you'll have to wait much longer than usual which might throw you off for a while), by grabbing me or by hitting me from above or below, since I can only hit things that will be in front of me. I will probably always be considering "I could counter this" since my counter kills pretty good and that my other kill moves (fsmash, ftilt, uair, dair spike, bair and fair offtstage, dsmash and usmash and Air Slash) are stupidly hard to land even though I have quite a bit of them, and the ones that are easier to land don't kill till pretty late or I have to go offstage. So just try not to be obvious with your kill moves (by say like, charging a move that you have to use once you start it as I try to land. Then you're just asking for it) or bait me into the counter by making it look like your gonna go for a kill but then backing off. The counter is also not very good on mobile moves or very reliable in the air. For instance, it's stupid hard to counter Sheik's aerials because she makes herself so small and she still moves enough vertically that I'll probably miss, And bouncing fish can't be countered because you'll just bounce off of me, flying to high for me to hit you.
My offstage and recovery game is also not the best. Air Slash is probably the worst Dolphin Slash-esque recovery in the game. It's slow, depending on where you hit with the first strike, the second is not guaranteed, and of course the second hit is the one that matters, and it only auto-snaps only in two places, during the second slash and the very beginning of the attack (the one place I don't want it to autosnap) This means my recovery path is very predictable and linear if I choose to or am forced to recover low. You can can just fall and drop any meaty attack and you'll either hit me and then I'll probably die, or we'll trade hits, and you'll get knocked back toward the stage and I'll still die. To avoid this I often try to recover high first but since I have to use my second jump to get that high, if you hit me now I have to recover low with my predictable and punishable recovery. And because my recovery is so punishable, I fear actually trying to edge guard offstage cause if I miss anything (one or two successful air dodges will do it), now you're in a better position and my recovery is not going to be able to deal with it. Monado Art Jump helps and lets me go in very deep but it doesn't change that I have to be precise with my aerials, that it doesn't magically give me an extra jump or let me change the path of Air Slash. So my recovery is still as punishable as ever.
Finally my approach game is super limited. I feel like I basically only have two decent approach options, which is nair and grab. Nair because its big, can catch dodges and has the lowest landing lag, and grab because I can get put you in pretty bad situations out of down or up throw, though down throw is the safer bet. Back throw ing you offstage is also pretty nice cause it sends you pretty far the stage, giving me time to think about how I want to act next. Any other approach option, being dash attack, walking tilts and walking jab are all easily beaten by just holding shield and then hitting me cause they all lag, which dtilt and jab having the lowest lag but are still punishable. Even with Monado Speed, I can run around like crazy, but my approach options are all the same and don't change the amount of lag I have to deal with, it just messes with your timing. It also lowers my jumping height which makes my already bad recovery even worse if you get me offstage.
TLDR: Shulk's range is not scary. The lack of actual active frames and lag on the moves makes them very easy to punish on whiff or block. Counter is good and gives me more counter options than other characters, has the same weaknesses as all the other counters and struggles to deal with airborne fighters. My recovery is garbage, predictable and easily beaten by any meaty attack, so I also don't like to go offstage unless I'm super confident I'll get the kill cause one mess up spells doom. Finally I don't have many ways to approach safely unless you're character isn't fast enough to deal with my range, or doesn't have range to match mine, cause all my moves lag.