It's a tough call on who to run. Trump has a big personality, and sometimes voting can be a popularity contest, sadly. Luckily Trump has a crappy first term behind him, so he's a soft target on actual policy. However, Trump's going to nickname, insult, talk over, lie, and denegrate his challenger. We need a candidate that can hit back without sinking to his level, and can provide good policy.
I'm just not sure who that is. Bernie, maybe, but he's not the clear cut savior that the Bernie Bros make him out to be. Biden, maybe, but he's in the same camp as Bernie. He can hit back, but fighting fire with fire isn't necessarily the winning strategy. Hitting back is needed, tons of hot mic moments, and arguing aren't.
I guess, if I had to choose on the spot, maybe Kamala Harris? I've seen so little of her though. She seems to be able to talk tough, and seems intelligent, but I'd need to see more. She's young, and seems inexperienced, but so was Obama. Plus, anyone is more experienced than Trump at this point. He's went 2 years, and still doesn't grasp the bare minimum of the job. Plus, even though I don't want him to, Trump's going to say something sexist. He's going to insult her looks, or have a hot mic moment where he says she should be getting his coffee or something. Then he's going to lose a lot of the female vote.