I think with the types being combined obviously it presents issues when assigning weaknesses in general, Electric Pokemon not being weak to Fighting types in the game etc but taking weakness from all of them because of Ground. There's a few inbalances like being too much weak to Fighting, and what they kinda did there was make more Fighting resistances, even when it didn't make sense like Dragons WITHOUT dual Flying type =/. I think yeah the best solution would be to make GHOST pokemon into Dark type cards, actually Poison as Dark woulda made more sense than Psychic. The only reason to make Poison Psychic I can really imagine is because they're PURPLE =/.
What we have is a system where often the weaknesses and resistances of any given card are determined by only 1 of that Pokemon's 2 types, so a second type's resistances or even immunities are sometimes ignored, like Lightning weak Gligar and stuff.
Now if Ghost Pokemon where Dark types then making Psychic types Dark-weak would make absolute sense as their current weakness is representative of Ghost. Even though something to note is Psychic was originally immune to Ghost (Lick being the only straight damaging move in the video games) and thus anything other Grass (Bug) made no sense for the original Psychic cards. But I'm just rambling now.
Steel is meant to be weak offensively and Ice already has the weakness, so I dunno if Rock really needs it. It would make sense but either way is fine. I'd probably just use Grass weakness because Grass is generally underappreciated, although as you say more Grass weak Water types would also sort this out, Flying and Water are already weak to Electric most of the time so switching some Waters to Grass weak would be ok.
Honestly I think the best idea is just to do it on a card-by-card basis, pick the best w/r for each Pokemon using both their types whilst making it as balanced as possible. Give things like Kingdra a Fire resistance for example.