How Much: calculating...
Let me remind you of @kjj idea, which I find interesting:
When we do need to increase the limit, I would propose the following rules: Block max size increases iff at the time of difficulty change, the sum of the size of the last 2016 blocks is > (1814 * block_max_size). If size increase is indicated, block_max_size+=(block_max_size>>4). I'll leave the implications as an exercise for the reader. 1814 and 4 are magic numbers, they could be changed, but I suggest they not be any smaller than specified.
Though I would consider adding some high hard limit too (100MB-1GB)