Here's my attempt at a complete list of battery saving tips. A lot of these apply to any Android phone, but some are only for the Samsungs:
-If you're not using Bluetooth, turn it off.
-If cellular signal is weak, try to connect to a Wi-Fi network if possible.
-If cell signal is fine but the Wi-Fi network is weak or keeps on dropping, it's better to turn off Wi-Fi and keep the phone on cellular.
-In "Connections" and then "Data usage", turn on "Data saver" and just allow the essential apps to have background data access such as WhatsApp, SMS, e-mails, the weather app (for the widget) etc. I would restrict the Facebook app for example.
-If you have the option to, reduce the screen resolution to FHD.
-Keep screen brightness at around 50% when possible. Samsung displays are naturally very bright so it's easy to do.
-Set the screen timeout to be 15 or 30 seconds at the most.
-Enable "Medium power saving" mode and leave it on all the time.
-Disable Always-On display. This should automatically happen when you enable the "Medium power saving" mode.
-Enable dark mode at night (better for the eyes anyway).
-In "Accounts and backup", go to "Accounts" and then in the Google one, disable the things you don't need to have synced. I would keep Contacts, Calendar, Notes and Gmail syncing.
-If you're using Google to back up your data, turn off Samsung's backup service so you don't have both constantly syncing in the background.
-In the "Privacy" settings, disable "Send diagnostic data". In that menu, also disable "Customization Service".
-Go into the "Location" settings and then "Improve accuracy" and make sure that "Wi-Fi/Bluetooth scanning when off" are both off.
-While you're in there, disable "Google Location History" and "Google Location Sharing". Unfortunately you can't really get away with disabling "Google Location Accuracy" because it's needed to get accurate location when navigating with GPS.
-Also go into Location permissions and make sure no apps have access to it that don't really need it. For most of the others, only allow the use of location when the app is in use. Honestly, most apps don't really need your location. I'd leave it for navigation apps like G Maps, Waze, etc.
-In the "Connections" settings, go to "More connection settings" and disable "Nearby device scanning".
-If you like to leave your phone on vibrate most of the time, set a lower vibration intensity for the notifications. If it's vibrating all day multiple times per minute, it can make a difference.
If you prefer to leave the strong vibration, you could also individually set certain apps not to vibrate.
-Disable vibration for "Touch interactions". Leave it on for the keyboard if like me, you much prefer the typing experience with the haptic feedback. Setting the vibration strength to something like 10ms would be a decent balance between power efficiency and good feedback.
-In the battery settings of "Device Care", turn off "Fast charging" and "Fast wireless charging". This would help preserve the battery in the long run.
-In that same menu, go into "App power management" and enable "Adaptive battery" as well as "Put unused apps to sleep".
-You can also manually add apps to "Sleeping apps" and even "Deep sleeping apps". Not sure what the difference is between those two, but only add apps that you don't ever need to have them notify you of anything.
Don't add apps such as e-mail, SMS, or WhatsApp which are basic communication essentials.
-If you don't use things like "Ok Google", just disable that Google app
-Disable the Google apps that you don't need. Do not disable "Google Play Services" or "Google Play Store" of course.
-Same goes for Samsung's pre-loaded apps. If you're not using them, disable/uninstall them if possible, or at least restrict background usage of them and then "Force stop" them.
-If you don't care for custom Samsung themes, don't even login to your Samsung account on the device.
You'll still have essential functions like "Find my Device" by Google since you'll be logged in to your Google account, as with any Android device.
-If you don't care for anything Bixby related, aside from disabling/force stopping as noted above, go into the "Advanced features" and disable "Bixby Routines".
-In "Motions and gestures", disable "Lift to wake" and "Smart stay".
-In the "Apps" settings menu, hit the three dots on the top right and go to "Special access". Then go to "Usage data access" and disable "allow usage tracking" for the "Digital Wellbeing and parental controls" app, as well as for "Bixby Routines" and "Bixby Voice".
-No need to force close apps all the time if you know you're gonna be using them again shortly. The S10 phones have 6GB or 8GB of RAM which is plenty enough to keep several apps in memory.
Having an app reload itself constantly could use more power than leaving it in memory.
-This last one isn't so much for battery life as it is for speed, but enable the developer options by going into "About phone" > "Software information" and hitting the "Build number" about 8 times. Then back out into the main settings menu and go into the developer options and scroll down to the three "animation" toggles which will be set to 1x by default, and reduce all three of them to 0.5x.
-Lastly, avoid using battery intensive apps if you don't need to.