Cavill is too buff and young. If we go for someone like that, Robert Pattinson could do it.
Cavill is older than you think. He is currently 38 and will be more like 40-41 by the time the next Bond move films most likely. Here are the ages of previous Bond actors when their first and last Bond movies filmed:
- Barry Nelson: 37
- David Niven: 56
- Sean Connery: 31 first movie, 52 last movie
- George Lazenby: 29
- Roger Moore: 46 first movie, 56 last movie
- Timothy Dalton: 40 first movie, 42 last movie
- Pierce Brosnan: 41 first movie, 48 last movie
- Daniel Craig: 37 first movie, 51 last movie
So, Cavill being about 40-41 when the next movie films is definitely not too young, Connery and Craig both started younger than 40 out of the multi-movie Bond actors, while Dalton and Pierce started at about 40-41.