Bitcoin itself has ability to adjust these fluctuations in block sizes.
This statement does not make sense as Bitcoin does not have this 'ability'.
If you use the default fees you are more likely to get your first confirmation with the first block i.e blocks are not necessary full at least in most of the time when there is a spam attack.
That's the way that the system was meant to be used. What happens is that people include fees that are not adequate and then they complain about it. Usually it is not a problem with the network but the user.
One look through old threads when SatoshiDice used to spam the fuck out of the blockchain until they were priced out via fees makes you understand that the chain can fit way more legit transactions if businesses optimize their transaction policies.
It is worth nothing that a nice percentage of transactions could be labeled as spam of sorts (even today). There was some statement about it in the recent roundtable but I can't remember exactly what it was.