The galaxy far far away is incredibly huge
According to various sources, the GFFA is more than 100.000 light years in diameter (Milky Way sized). This means it consists something in between 100 billion to 1 trillion stars. That makes one Star Destroyer for every 4 million stars (if we chose the lower estimate).
Even if we just reduce this to the amount of worlds represented in the Galactic Senate, we can estimate the number of senators from the size of the senate chamber. This easily amounts to tens of thousands of representatives. This makes it likely that even if we reduce the amount of systems the Empire has to patrol down to 100'000 (considering that several factions are spread over multiple systems) it would still only leave 1 SD per 4 worlds.
In fact, it would be highly likely that Star Destroyers would form some sort of quick response force stationed in critical systems that could react quickly to local threats (not only the Rebellion but also piracy and other factions) in adjacent systems. Thus the vastness of the galaxy - even if reduced to the member worlds of the empire - would require a huge amount of ships stationed at various locations throughout the galaxy to protect the Empire's key assets.
It is also the reason why a guerilla style Rebellion could even work in the first place. Playing hide and seek among millions of stars requires an incredible amount of logistics on the Empire's part.
The target has to be tempting enough to engage
The leaked false info about the inoperative Death Star 2 would only trigger a rebel attack if they see a chance of winning.
If the Empire would amass Star Destroyers around Endor, it would definitely be noticed. Not only would that expose other imperial key installations to possible rebel strikes, it would also raise questions where those Star Destroyers have gone.
If it would have smelled like a trap, the rebellion would maybe not be desperate enough to engage the Death Star quickly but search for an alternative way to destroy it.
The fleet was large enough for its purpose
The idea was that the Star Destroyers should hold the Rebel fleet in place which they were perfectly capable of. It is even expressed in Episode VI when Admiral Ackbar and Lando Calrissian have the discussion about engaging the Star Destroyers.
Lando Calrissian: Yes, I said closer. Move as close as you can and engage those Star Destroyers at point blank range.
Admiral Ackbar: At that close range we won't last long against those
Star Destroyers.
Lando Calrissian: We'll last longer than we will against that Death
Star, and we might just take a few of them with us.
So the commanding officer of the Rebel fleet was basically thinking it was suicide to engage the Star Destroyers that were present at Endor. It was just down to them being so desparate that they even went for engaging the fleet.
Even if the rebels manage to take out a few ships, in the end the emperor wouldn't care about a few lost Star Destroyers if he could turn Luke to the dark side. To him everything is just a means to his goal.