16GB is plenty in my opinion, unless you want to be “that guy” with entire rom sets on their device they probably will never ever play. This makes it easier to backup and restore your device, and transfer Roms etc over, if you ever decide to try a new operating system, or accidentally break your installation.
For reference, I have a 32GB SD card as my main card, holding full rom sets for NES, GB, GBC, GBA, SNES, N64, MasterSystem, MegaDrive, GameGear Mame 0.78, and A few indie games on Pico-8, and still have about 10GB free.
You don’t need to have all of those Roms. I only have them there for testing purposes. Realistically I probably play 4 or 5 games at a time. Maybe if I am playing lots of PlayStation Games, having more space could be useful, but there’s no way I would want to have more than 4 or 5 of those going at once!
At the end of the day it’s up to you on how big you want your card. Keep in mind, the bigger your card, the more stuff you will lose if it ever gets corrupted, and the more space it will take up to backup your image on your laptop.
Updating in the future, you should be able to do an apt upgrade. The downside is that you will need to know how to use a command line to SSH into your device. That is, with a stock image. Currently the DEOT custom image I made is being optimised to be able to be upgraded in the future. But for now, it’s a matter of being wiped each time.
On the other hand, unless you’re doing something unique or developing on your device, a regular end user just wanting a gaming device doesn’t really need to do an update. Look at say, a GBA. Similar thing really.