Grass… kinda gets a raw deal, yeah. Just purely in terms of the number of other types it’s strong/weak against, it’s one of the games’ worst… which is kind of a sore spot for me, since it’s also my favourite. Most types are defensively vulnerable to two or three others; a few are vulnerable to only one, and Ice (which also kinda got shafted, I think mainly because Generations 1 and 2 had no pure Ice-types) is vulnerable to four. Grass is vulnerable to five: Flying, Ice, Fire, Bug and Poison. Only one other type has that many defensive weaknesses - ironically, that would be Rock (vulnerable to Fighting, Steel, Ground, Grass and Water). Rock, though, gets to enjoy being one of the game’s better offensive types - Rock is the only type other than Ground to be strong against a greater number of types than it is weak against, offensively. Grass, not so much - Grass attacks are weak against seven different types (Grass, Flying, Bug, Fire, Dragon, Poison and Steel), which until X and Y was more than any other - and that changed not because Grass’s situation improved, but because the next-worst-off type, Bug, gained a new disadvantage against Fairy-types. They’re strong against three (Rock, Ground and Water), which is sort of average, really.
Grass does, admittedly, have a decent number of resistances - four of them (Water, Electric, Ground and Grass itself), while many types only have two or three, but it doesn’t really stand out in that regard - Water, Rock and Dragon also have four, as do Ghost, Fairy and Flying if you count their immunities (which, y’know, are kind of better), Poison has five, Fire has six, and Steel blows them all out of the water with eleven. It has to be said that counting types can only go so far - Dragon, for instance, was hands-down the best attacking type of the fourth and fifth generations, despite being strong against only one type (itself), because it had nearly perfect neutral coverage, resisted only by Steel. The problem, though, is that where types like Dragon and Rock lose out in one respect but do very well in another, Grass kinda loses everywhere. Grass-types are, admittedly, also immune to Leech Seed and, as of X and Y, powder attacks (the important ones being Stun Spore, Sleep Powder and Spore) - so basically they’re really good at blocking other Grass-types. That seems to be the niche Game Freak has in mind for them here. I mean… not that those immunities aren’t useful, but they’re also kind of a slap in the face.
So, when I put it like that, it seems like the obvious thing to do is strip out some of those damned weaknesses (the attacks, I think, are fine as they are - Solarbeam could maybe use some work, because at the moment it’s kind of a gimmick and only viable on dedicated sun-abuse teams, but I’m not sure how to change it). Let’s start with Flying. Why does Flying beat Grass? I’ve seen element-based systems before where Plant/Forest is actually strong against Wind/Sky, birds can help plants through pollination (analogy with the Grass-Water relationship), and it’s scientific fact that plants bolster hillsides against erosion by the wind. I say make Grass-types resist Flying attacks, and Grass attacks neutral to Flying-types. Make Flying-types strong against Water instead; the smug pricks deserve it. We can probably get away with removing Steel’s resistance to Grass too, since Steel has too many damn resistances anyway. In flavour terms that’s not as solid, because there’s precedent for Metal-beats-Wood in the Chinese Wu Xing cycles, but the fact is, there are probably ways to justify having Steel resist everything, so I think a little more restraint is in order when dealing with that type. Those things won’t make Grass an amazing type, but it’ll certainly make it not suck!
Bug could use some help too, but I’ve been babbling long enough…