ok i'll try to say a few things, i'm no pro or anything tho
what i feel is important seems to be something a lot of people say in these threads, like WindHero above - you need to teach yourself to review yourself. you need to be an analyser, you need to be intelligent, you need to review your own games. you sort of should be able to commentate a game. this doesn't mean you save every single game you ever play and dissect it like you're doing homework, you can't go all in like that or you will suffocate yourself under pressure. i think anyone who wants to be good at anything needs to want to understand everything in that field, you need to want to know everything there is to be known, you can't go in half-assed, "i want to beat a friend, what can i do to get better" hoping to learn a quick gimmick that wins. this isn't having a go, of course, just trying to highlight how this something deeper than just a game you learn a thing or two about to get good.
we fear the unknown the most, so as others have said, you must play smash in all kinds of ways. use heaps of characters, understand how they move and feel, so when you come up against one it isn't so scary and unknown. play heaps! play for fun, play because you want to, play because you're bored and have a spare half hour, play because you have two hours and you're super keen to become the best in the world. play lots, spend time playing, that's how you get better, literally play the game
the more you play, the more you develop your own style. you don't really know the difference between toon link and link right now, yeah? so learn that! you should want to play the game and understand what makes those characters different - you read about how link is heavier but stronger, yes? you should feel it for yourself so it's something you understand and not just read. you must understand everything in your own way, if you try to absorb any advanced information without those basics you'll get lost! there is no easy fix, there is no skill to learn to take you to the top, unless you're wobbling with ice climbers??
your game and your punish game comes from your knowledge of your character and your opponent and what works and what doesn't - every second, every movement. it starts off simple, like "hey, if i throw my bomb, then dash towards him, he's panicking over the bomb and not expecting my hit!" - then say that becomes something you do, and your opponent catches onto it, you become more versatile - saying "hey, i can throw my bomb at this guy, he shields then rolls back because he knows i'll attack, so maybe i'll sit and charge an arrow to hit him with" (there are better examples to give but better players will give them when the time comes). build on what you know works and change around what doesn't work.