Ok, so I haven't thought this through enough yet, but one idea I had was to roll the 2 player stuff into a new mech.
So, let's say that you have a new mech called Gemini.
If you select it when no 2nd player is detected it will just act as a regular mech, albeit probably with new fancy weapons and stuff; however, it has a special ability. If the second player presses E (or whatever) a 2nd version of the mech will spawn, which is controlled by player 2. If the 2nd player is spawned then a damage multiplier reduction will be applied in order to help balance it. Then for added fanciness you could allow the ability for Player 2 to recombine with Player 1, restoring the regular damage power.
Both versions of Gemini share everything, health, missiles, perks etc. Oh, for an extra bit of added fanciness you could also make it so that both players have to choose the same perk to level up -- this would cause some co-op chaos!
Now, this implementation doesn't really solve many problems, I mostly think it'd just be cool, heh. Although it does at least contain any balance issues to a specific mech experience, which can be more easily controlled, and it does also solve the problem of needing a revive system -- health is shared so when player one dies, the second player also dies. This might actually add some extra problems due to some of the potential fancy features like mech splitting, although the fancy stuff isn't essential. So, that at least fixes
Possibly some sort of revive system for Player 2 although the solution might add extra problems overall!
Then you just have but
both players can pick up credits/missiles/health/shards for the team. (Separate effect for health/missile pickups?) and the targeting thing. For the targeting wouldn't just having the enemies target the nearest player work?....maybe!?