I took advantage of low fees to send all my bitcoins to a new address bc1. I had 31 inputs.
good for you, now with bc1 (native segwit) address you can pay less fee compared to using compressed or segwit address
but be warned most wallets haven't fully implemented segwit compatibility yet
so people using old wallet cannot send to your bc1 address (cmiiw)
Now I don't want to do this again, what should I do? Only use one address to receive bitcoins?
avoid transaction/receiving low amount payment, find a way to effectively receive/send your bitcoin
and take advantage of low tx fee whenever possible to consolidate your unspents like you just did
(re)using one address doesn't make you pay less tx fee, tx fee is based on tx size,
tx size based on number of unspent outputs, number of unspents based on number of transaction you received