Yanmega, it covers the Roserade and Infernape's weakness against psychic with it's bug typing. It is also covered by your Vaporeon, Luxray and Infernape.
Yanmega is a Sp. Attacker with decent stats in gerenal (except for Sp. Def) so it's not too shabby imo.
As for moves, I would recommend using: Airslash, Bug buzz, Uproar and an optional move (Psychic?).
Togekiss, it both has higher and better stats than Yanmega, as it lacks attack instead of Sp. Def (which is good for this pokémon). It can learn alot of different TMs, many of which are Sp. Atk oriented. But can unfortunetaly not learn many moves by leveling up.
As for moves, I would recommend using: Fly/Airslash, Shadowball, Psychic and Flamethrower.
The only physical attacker I think might fit is Honchkrow, but seeing as how you find Murkrow in Diamond not much can be done about it. If you must use a physical attacker, I'd recommend...
Gliscor, has a good type matchup and can act as tank since you don't have much of one already.
As for moves, I would recommend using: *Fire Fang, Earthquake, Brick Break and Poison Jab/X-Scissor/Slash.
I hope I've helped. :)
-I like Gible