I guess the fundamental problem with overtaking and F1 is that a lot of effort is put into ensuring that the best cars start at the front of the grid through qualifying. Why should we then expect slower cars to even stand a chance of overtaking? Overtaking should therefore only be possible if the car in front makes a mistake or the car behind has some kind of advantage. Drivers make few mistakes these days - and it's almost impossible for a car to run well in the hot dirty air of the car in front. Given that we're unlikely to return to the days of fully manual gear changes with a foot clutch it's unlikely that driver mistakes are going to increase.
Perhaps then we should concentrate on giving chasing cars some kind of temporary advantage. How about rev limiting all cars most of the time but allowing drivers the ability to use full revs on a limited number of occasions during a race. It would then be up to the drivers to decide when to use their full rev allowance - either for overtaking or holding off a challenge. It should be possible to keep a record of how many times an allowance has been used so that those watching the race can still see who has the ability to use full revs - unless it would be better to keep that fact a secret from the drivers!