I'm in my silver 5 promos now, and I've made it all through bronze without having serious smurf-related issues. On occasion I'll come across a gold smurf, or even a plat smurf who is levelling a friend's account, but due to the nature of bronze players, even the smurfs can't solo carry every game.
I think smurfs are a much bigger problem on low level accounts, and when they are taking up limited spots in Challenger.
Low-level smurfs:
Between levels 1-10 there are more smurfs than new players. As a new player I would get into a PvP game and I'd be on a team of 4 smurfs against a team of 5 smurfs. I would feed because I was just learning, and then my team would get stomped by fed smurfs. Entirely not fun for new players. Even the beginner bot games were full of smurfs who would just stomp their lane to win as fast as possible. While it was better for the first couple levels to play against bots, they become predictable and they don't give you the "real" experience playing against other players does. It's basically impossible to avoid low-level smurfs until level 10-15. I found that even by level 30 I didn't really know the game at all (hence why I went straight into bronze).
I can understand higher-level players making low-level accounts to play with their low-level friends to teach them the game, but this shouldn't be necessary. Masteries and runes make this necessary, but those are just a part of league of legends. For low-level players there ought to be a better training program in order to make it not so necessary for a higher-level friend to have to teach you the game. In Dota 2 you can observe a game in real-time to coach. You can only see what your friend's team sees. I feel like this would be better for high-level players who just want to teach their friends, although it doesn't solve the problem of them wanting to play with friends.
I can't think of a good solution for low-level surfs.
Challenger smurfs:
The problem with challenger smurfs is that there are limited spots in challenger, and currently Challenger doesn't truly represent the top 200 players in the game. I don't think Riot should allow players to have more than 1 account in challenger at a time. This would be easier to monitor since most people in D1-challenger know each other from playing together all the time. They know each others' smurf accounts too, and I'm sure there are plenty of D1 players trying to get to challenger who would step up and say "hey, I see you have 2 (or more) accounts in challenger, that's not cool, man." In theory (not realistically), the top LoL player could get 200 accounts to challenger just to prevent anyone else from attaining it. That just doesn't seem like a fair system to me.