Leather by itself lasts indefinitely. Its enemies are brittleness and wrong pH value. Leather needs a regular supply of oils to stay soft. This is not a problem with watch straps, since skin is oily and the leather gets it from there. pH value might be more of a problem. Don't get the strap wet when you wash your hands, don't let soap solution get into it.
Leather is a porous material. The middle layers in a strap can be any material, even cardboard for cheap straps. All these will soak up sweat and then bateria etc. will grow in the strap and start eating up all organic matter they find. This produces the bad smell. Some of these critters create an acidic environment, which is bad for the leather.
This said, the enemy to longevity is sweat. There is a simple solution:
Don't wear leather straps when you sweat.
No leather straps in summer. Summer is the time for metal bracelets and rubber bands.
As a precaution, oil a strap before first use. This will minimize its tendency to soak up sweat. I use Lexol leather conditioner.
You can clean straps, but with special leather soap that regulates the pH. After it is thoroughly dry, use leather conditioner. Cleaning will take care of dirt on the surface; once a strap is really smelly there is no way of cleaning it, at least I was never successful.