Here's an idea to solve the end game problem.
When choosing the difficulty level i.e. tough or challenging, you could instead have it as the START point of the difficulty settings.
Once you begin a game at i.e. average the chronological timing takes places and the difficulty increases.
It should probably be included as an option rather than a real feature to avoid the depressing situation you get in Elder Scrolls: Oblivion when you have the kick ass gear but still get whipped by stray deer.
My thinking is that when you reach that mid-game point where you know you have won but only have to play smart to finnish off you don't get that sinking "why bother" feeling.
Instead, you could choose 'average setting to start with and the difficulty rating could increase every X years.
This idea might have been floated before or it might simply not work, but it is the closest I have come to a solution for what is the ONLY stain on an otherwise PERFECT gaming experience.