Hello, Janna main here with over 300k mastery points total across two accounts and level 7 Mastery on both of them. I've been playing her since Season 2, since I started playing League of Legends, and I think that makes me qualified enough to contribute to this discussion. Supports of the Enchanter archetype, like Janna, Lulu, and Karma, are strong in laning phase when played well. Any inexperienced player on those champions will struggle against strong, smart opponents who understand Janna's strengths and limitations better than the Summoner playing them. I'm not saying Janna is balanced, because there is one change that I think could be healthy for her, but I do agree that she's in a good position right now. However, her good position is not because her kit is inherently overpowered. She is very reliant on her teammates' ability to perform well. Even if you perform well and to the best of your ability on Janna, you cannot carry a match single-handed.
"She is never really a bad pick and doesn't have any counters in lane." I disagree with this. Janna's hardest counter has always been
Blitzcrank. She has no mobility aside from
Flash, which makes her extremely vulnerable to his ability to chain his crowd control together and silence her.
Sona is another strong counter to Janna because, in terms of mana, Sona can always out-sustain her. At level 5, Janna's shield costs 110 mana and shields for 240 damage. Although Sona's Q only deals 160 damage at rank 5, it only costs 65 mana as well as hits two enemies. It also prioritizes champions. Thus, as Sona, you will always be able to efficiently harass Janna, the ADC, or both. The last strong counter I would say is
Thresh. This is for the same reasons as Blitzcrank, but to a lesser extent. Thresh and Blitzcrank are able to pull Janna or her ADC out of position, and Janna can't reposition herself or her carry if they get hooked by their Qs. Unless you and your ADC are already ahead in levels or have Summoner Spells, getting hit by either of their Qs usually results in one or both of you dying.
"She is an extremely frustrating champion to play against because she makes lane extremely farm heavy and she is very hard to gank." This is true. Janna's abilities is designed to babysit her ADC and teammates throughout the game. However, she sacrifices damage in order to fulfill this role. On average, I deal 4000-6000 damage to champions as Janna. I build
Spellthief's Edge into
Eye of the Watchers. I max her Howling Gale (Q) after her shield in order to lower its cooldown and increase its base damage, and I still have difficulty dealing significant, meaningful damage to enemies. If you want to gank Janna's lane, you have to commit more than three people to the gank if she has her ultimate, a lot of mana, and most of her health. Janna can survive a 3v2 turret dive if played correctly. She and her ADC cannot against 4-5 people. Basically, you want to overwhelm her with numbers and force her to use Monsoon (R) and Howling Gale sub-optimally. Pulling off a successful gank on Janna and her ADC can equate to bottom turret and dragon.
I think she's allowed to stay like this for some of the reasons mentioned before, and for some that I've mentioned. You have to be good at her, or better than your opponents, in order to succeed in laning phase. She needs both experience as well as items in order to do her job as an Enchanter well (her cooldowns are long at early levels without CDR). She is very reliant on the competence of your teammates, but you also need to understand her strengths and limitations in order to perform effectively.
One change I would make to her kit, if I had to nerf her, is reduce the length of her shield duration at skil levels levels 1 through 4. Basically, I would change the skill from being "Shields an allied Champion or turret for 5 seconds..." to "Shields an allied Champion for 1/2/3/4/5 seconds..." This will make her reactionary playstyle more intensive and less forgiving. At level 1, her shield should be serving one of three purposes: protecting against harass; harassing; or skirmishing. If you use E at level 1 on an allied Champion without reason, the amount of safety they have is reduced from 5 seconds (5 second duration, 10 seconds cooldown) to 9 seconds (1 second duration, 10 second cooldown).
A second, stronger nerf I would consider making to her is having her Q's ability to knock up enemy champions scale with level, or only knock up the first enemy champion it hits. So, instead of reading "At the end of the duration, or upon reactivation, the whirlwind launches itself in the target direction, dealing magic damage to all enemies it passes through and knocking them up for 0.5 - 1.25 (based on seconds charged) seconds," it would read as "At the end of the duration, or upon reactivation, the whirlwind launches itself in the target direction, dealing magic damage to all enemies it passes through and knocking up 1/2/3/4/5 enemy Champions for for 0.5 - 1.25 (based on seconds charged) seconds." This change would emphasize her need to have experience (levels) in order to perform her job as an Enchanter effectively.
I hope this helps!