I'm making some assumptions about your experience and skill level, but it sounds like you're coming from For Glory, haven't competed in tournaments, etc.
Here are some things that casual players who are new to the scene do wrong, that I think would give you a hard time against not just Mac but many characters:
- Airdodging to the ground. If you airdodge into the ground you're going to incur heavy landing lag and probably get punished for it by any competent player. Mix it up. Sometimes fastfall, land, then pick a defensive option (roll, spotdodge, shield, defensive hitbox, whatever), sometimes land with an aerial, sometimes just land without doing anything, and sometimes drift to the ledge. But never airdodge directly onto the stage.
- Airdodging or drifting back onstage from offstage -- you know how sometimes your opponent is waiting for you on the stage as you come back, and you happen to get hit by an f-smash or something? Just grab the ledge instead. Drifting away is one of the fundamentals of disadvantage. You get temporary invulnerability on the ledge, and ledge getups are really good in this game.
- Not knowing when you're in neutral, advantage, or disadvantage. You have to have a mental check running at all times. When you're (directly or very highly) above your opponent, offstage (unless you're edgeguarding), in hitstun, or in the corner, you are in disadvantage. When your opponent is in any of those states, you are in advantage. If neither player is in any of those states, then you are in neutral. Always ask yourself what state you're in and play accordingly.
- If you are in disadvantage your goal is not to hit the opponent any more; it is to minimize followup damage. Sometimes this leads to counterintuitive plays, like taking the hit from prepatch Diddy's f-air (which did a whopping 12%) as opposed to getting killed by up-air. Do whatever you can to stop getting hit. You'll sometimes see top players trying to convert disadvantageous situations into advantageous ones. Don't do that until you have a lot of experience and are comfortable with the consequences of the decision tree.
- If you are in advantage, press your advantage as far as you can, but don't overextend. If you commit to something in advantage, you may have just let your opponent get out, and possibly do some damage to you in the process. Be patient and wait, but seize your opportunities when you can. You also need to recognize when things have reset back to neutral so that you can stop trying to follow up. The worst thing you can do is dash attack someone's shield right after getting a beautiful 30% string.
- Volumes could be (and have been) written on fighting game neutral. I recommend starting with the character boards and watching high-level videos of your character in play to see how baiting, faking out, reaction, etc. work.
- Not mixing up DI. DI isn't just survival DI, where you've got to hold the stick in a certain direction to avoid dying. DIng is a constant thing. You should always be rotating or moving your control stick when you get hit, in different directions depending on the context. When Ness d-throws you, if you DI above his head, then he can't get a f-air followup, but he can get an up-air/n-air punish. If you DI away from him, he can't get n-air or up-air but can get f-air. Mix it up based on what is more favorable to get hit by, and what you've done earlier in the match. When Mario d-throws you, sometimes you want to DI down and shield to avoid the second up-tilt, but sometimes you want to DI away from him, and sometimes you want to DI into him a bit to make him think that he can get more up-tilts, and then jump out. Mix up, mix up, mix up.
- Not using all of your movement options. Are you rolling a lot? Running everywhere? Full hopping all the time? Have you tried initial dashing, empty hopping, short hopping, foxtrotting, walking? Have you tried running off the stage and b-airing toward the stage as a mixup? Have you tried crouching in anticipation of a falling anti-juggle instead of shielding? Smash is a game about space and space control. There's infinite space. Use it creatively.
- Always being aggressive. Or always being defensive. You want to mix up between the two.
- Not mixing up defensive options. Roll, spotdodge, and shield are great, but not infallible options. You want to evenly distribute your options among the three if you can, with some preference for whichever one is appropriate in the matchup that you're playing. Rolling and spotdodging habits can be read.
- Hiding in shield. Don't just hold shield. Briefly flash your shield when you anticipate an attack and, on hit confirm, react and keep it held until you can punish.
- Expending your double jump immediately when hit offstage. See also: expending your up-b immediately when recovering. Your double jump is a resource. Your up-b is a resource. Think of it like a Samus Charge Shot: you don't want to just fire it immediately, do you? Use it at the right time. Save your offstage resources until you have to use them. If you can make it back to the ledge just by drifting toward it and using a f-air or something to bat your opponent away, great, do that. Saving your double jump (and often up-b) will make you more resilient to edgeguarding attempts.
- Airdodging immediately after a throw or combo starter. Sometimes this is correct. Most of the time, it's not. Usually you want to jump away first, then airdodge. You might buffer an airdodge by mistake, but in general you will be safer mashing jump.
- Attacking into shields. Good rule of thumb: whenever you really, really, really want to throw out an attack in neutral (or in any situation where your opponent can punish you for it), stop yourself and ask, what will my opponent's reaction be? Chances are, if you think that you have a good opportunity to attack, then your opponent sees that, and will be expecting it. Fighting games are all about unpredictability. Don't be predictable.
- Reacting to where your opponent is, not where your opponent is going to be. Yes, he just missed an f-smash. No, that doesn't necessarily mean you can dash attack him for it. He's going to try to stop you from doing that. Maybe he'll jab, or roll, or shield. If you want to punish him, you have to read the followup and respond to it. Keep dashing to punish the roll. Jump and wait for the spotdodge before unleashing your f-air. Run through pivot grab. Be predictive.
- Not knowing frame data. Sometimes, that missed f-smash will be punishable. You should know what you can punish with, and maximize your punish. Sure, if Ganon misses up-tilt you can probably just dash attack or dashgrab him. But what if you can land a tipper f-smash instead? Know what your character can do given certain windows of time. Also know what your opponent can do so that you can more appropriately analyze risk vs. reward.
- Not delaying button presses. If you're not able to juggle Mac, then chances are that you're not punishing his landings properly. If you just jump high up and swing attacks he will airdodge through them and land safely, and then you'll be in disadvantage. Wait for him to get close to the ground, jump toward him, wait for his reaction, and then punish. Roy's movement specs are great. Mac shouldn't be landing easily at all. Wait for the counter or airdodge, and punish it hard.
- Not adapting your playstyle based on your opponent. You're not fighting characters, you're fighting players. Players tend to fall into certain archetypes. With enough experience, you'll be able to tell who will likely do what in what situation. Getting good at reading is about getting good at player psychology. A player who is very cautious in neutral is likely to try to bait you into overcommiting in advantage. Be aware of that. Capitalize on that. Top players are truly terrifying because they don't have set habits, they adapt very quickly and it's hard to get consistent reads on them. High-level players often do well against top players at the beginning of a match or a set and then taper off from there because the top players adapt.
- Watching your own character. You already know what your character can do. You should be used to spacing with your character. Watch your opponent. Fix your eyes on the opponent. This will help you react faster.
if you're losing your stock to Pikachu's Thunderjolt as Ike then you're making mistakes.
You can see it coming (watch the Pikachu, not your own character) and airdodge. Airdodges have 4-5 frames of vulnerability in this game, down from as high as 10-20 in Brawl. It's very difficult for most characters to punish airdodging consistently (landing with airdodges is a different story; please don't do that).
Hope this helps you up your game.