What are the code requirements for upgrading a residential service panel?
Some of us, including me, are huge proponents of large panels, and so are cheering your idea of getting a much larger panel.  That may blind at least me to the downsides of such a switch.  

A huge amount of the downside relates to how the panel is mounted and accessible.  If it's mounted on an unfinished area with easy access to the various cables going in/out, and the main power inlet is in a favorable place to fitting a larger panel,that is quite a different deal than a panel buried in drywall etc.  

There is also the option of going with "double stuff" (tandem) breakers that some of us positively hate, because they have performance compromises and foreclose the possibility of putting AFCI breakers on that circuit.  With a 16 space panel powering a modern house, quite likely your panel is already full of double-stuffs.  

Anyway, to do this, you will certainly need to have the power company turn your power off for the duration, and you should ask your building authority whether you need to pull a permit for a project that is a pure 1:1 unit replacment.  They may say no.  If they insist, also ask them if as part of the scope they'll insist on any code upgrades. Normally work is grandfathered to the state it was in when it was built, and since you're not remodeling the circuits they shouldn't require, say, AFCI at $50 each.

Also think about whether the wire lengths of branch circuits will require you to frame the new, taller panel upwards or downwards so most cables reach. It is ok to splice with wirenuts to extend wires.   You can also end the circuits in junction boxes outside the panel and use extension wires thru short EMT conduit to bring them home.  Those boxes are great places to stick $15 GFCI deadfront or livefront receptacles rather than $40 GFCI breakers.  

Or add a subpanel

One way to avoid a hard panel change is to fit a subpanel.  The subpanel can be right there, or at some other useful location in the house.  The sub can be a panel rated at larger than 100A ampacity (to get a respectable number of spaces like 30, it'll need to be >100A rated. 30+16-2 = 44, a workable number of spaces for a house, the -2 is for the subfeed breaker). 

If the subpanel and main-sub feeder is also >=100A rated, then you don't need a subpanel breaker - your main panel's main breaker protects the feeder and sub.  You tap either off the bottom fed lugs, or they make a "no-breaker breaker" which snaps into a breaker slot but is just lugs.  

A slick trick with subpanels is have a conversation with your power company about where else you could fit a main service drop and meter.  Place the subpanel in such an ideal location, and get a big 225 subpanel with main breaker (or space for same). Later, when you want more service, get a bigger meter pan, connect it to the new sub, and have the PoCo bring the new, larger service drop to the new meter and retire the old one. Now the sub becomes the main, and the old main becomes a sub.