The simple process you need to add is an “SLA”.
You need to take away leads, and also opportunities, if they are not followed up with in a prompt fashion. This is fairly easy to implement in Salesforce (or with other systems). If a call isn’t logged within say 24 hours of a lead, it is routed to another rep.
You sort of need to do this if you have a decent velocity of leads. Reps will naturally spend more time on the “hot” leads, and also, on the leads they think have a higher likelihood to close based on informed pattern matching.
Route the rest of that rep’s leads to someone else if she/he doesn’t follow up very quickly. Magic will happen then. You’ll make more $$$ per lead.