This is a set of general tips and general backup strategy.
Have two disks
This is the first and most important advice.
You never know when the disk may fail.
Have another exact copy on different hardware, with different file system
at different physical place.
Get reliable fast disk
Do not use flash drives and SD cards as a primary storage.
There is no warranty of redundancy and many manufacturers lie the specs.
It can be painfully slow to copy and even slower to write.
It may stop working.
SDDs are good for raw speed, however these are not supposed to live long
without electricity supply and may become unreadable and unrecoverable after few months on shelf.
HDDs are top recommendation for cost efficiency and reliability.
Internal disks are a little better, because they don't suffer from faulty usb cables,
always faster and it cannot fall on the floor and stop working.
However, it should be possible to easily replace internal disk,
if your computer does not have a feature do not store important data there.
To minimize USB transfer errors: use high quality cables.
Use short cables, keep ports clean from dust.
Ideally use sata/m2 disks and transfer over Ethernet.
Use smartmontools to check disk health.
This is easy step to save a lot if you do it scheduled.
If the disk is identified as failing, forget it and use a new one.
Use reliable file system
ZFS or BTRFS file systems use checksums and recommended.
Most disks come preformatted FAT32, EXFAT or NTFS,
do not use these file systems. These only have basic
protection against write errors and may be exposed to bit rot.
EXT4 and XFS are better but may suffer from improper unmounting.
Use BTRFS for removable disks.
Use ZFS for server and mounted disks (if unplugged, data gets corrupt)
Do not use ExFAT for anything!
It is worst implementation ever, especially on linux.
Plus, it does not provide any modern features: no checksums,
no permissions, no hard links, no soft links, no guaranties.
Verify after writes
Data written to disk is likely, but not guaranteed to be exact the same.
After copying to new medium use file system scrub call or at least verify
checksums embedded in images. Otherwise, the data may be silently corrupted.
This is no joke. Few papers identified silent data corruption even
in enterprise systems like CERN.
Note, even if you always verify data, it is not granted that no software
has bugs which can cause data loss, so use different file systems at best.
Keep at least half of disk space free
This sounds like threatening budget, but comes very useful when
you need space for disk cloning or just keep a lot of file versions.
So yes, realistically, the cost of digital disk is 4x + spent effort.
Never remove anything
Simply don't. Even if you dislike the image, do not remove it.
Never remove anything to free disk space.
If you really don't like certain images, remove their links,
so they will not be visible in the collection.
Do not rename files
Out of camera files have a reason for their names.
Renaming to ones wish can remove vendor ID, chronological order
and shutter count information.
Do not modify exif metadata
This is very dangerous. Despite metadata contains
privacy invading information, it also contains features
photo galleries rely on and detailed settings used for camera.
Removing or modifying anything will change checksum
and VERY likely result in something you regret.
Minimized but correct image metadata is a true art and
a reason to preserve raw files but share custom jpeg.
Do not share via social media
All network services silently loosely compress uploaded images.
Either attach as file or send via magic wormhole.
Keep tarballs
Either you share images or download from someone,
tarballs are convenient to transfer files.
It also faster to move between local disks and ensures integrity.
Do not remove downloaded tarballs but save them to dedicated place instead.
Save/index raws
Always produce and save raw images!
They are not just most original data, but also provide maximum metadata
information, do not limit the size and format of your photo and essential for
recovering information if you produced unsuitable jpeg images.
This is not (yet?) enabled by default, use a separate
library with a patch:
patch cmds/api.py < cmds/patches/raws.patch
The reason to not simply include raw formats as all other image formats
is that they need very different handling and should not be mixed.
Image formats
My best idea to date is to set RAW+JPEG where RAW is preserved and used to produce
lower resolution formats:
[6MP uncompressed TIFF] + [6MP 90% JPG] + [6MP AVIF]
Where tiff is master image with highest quality and redundancy,
jpg is optimal for printing and avif is optimal for phone screens.
Camera JPEG is generally unnecessary, but useful as fallback if writing
raw to sd card fails (which is proven possible).
This all takes about 2.5x disk space compare to poor RAW.
Converting formats
Do not attempt to convert existing images to other formats!!
Even if claimed to be lossless, software is not 100% bug-free
and may actually loose some data, especially exif and other metadata attachments.
Compression
Images cannot be compressed.
They are already high-entropy well optimized format.
Do not even try anything like zip or file system compression.
Do not produce large images
Small (<3mb) images well fit on optical media and more easily shared by using less traffic.
If you want yet another argument, they save some privacy by not being zoom-able.
If your camera has "modern" (>16MP) sensor, just set lower resolution.
Even 6MP is actually A5 size print and far larger than most screens.
Another option: reduce bit depth.
8 bit is already millions of colors.
Degrading from 12 to 8 bit is readily 30% size cut which
is invisible unless you need very accurate colors for scientific use.
Burn (dvd+-r) optical disks
These can survive fatal programming mistake and catastrophic disk failures.
Despite not exactly cheap, this is actually recommended.
Recommended cameras
What you want may be lens with faster aperture and sharper corner for nice images.
Smartphones make trouble by artificially scaling images and optimizing quality to reduce file size;
It is better to have custom phone camera software, but firmware may still do corrections on its own.
And I suspect new cameras to do the same: silently fix artifacts by firmware instead of better optics!
Compact cameras may or may not produce nice images, do not considers ones which do not provide raw at all.
DGN raw is recommended because it has built-in error correction and best software support.
Best camera - comfortable camera. Since you normally cannot modify shape and firmware,
choose ones with best of these and never regret.
Clear SD card contacts
This may not be obvious, considering smartphones have no moving parts.
Writing to SD card is entirely dependent on gold contacts on its surface.
After time passes, it becomes dirty and be sure(!) that will cause errors.
The fix is trivial: gently clear the dirt with ethanol (but not water).
Restore original file names
This is non-trivial, but possible for many Canon and Nikon
cameras via exif:MakerNotes:FileNumber, given the metadata
was not lost due editing or data recovery.
Extremely careful!! Only an example!
$ mv "$name" "IMG_$(exiftool -MakerNotes:FileNumber | tail -c 4).JPG"
Where IMG can be a specific camera prefix.