I would first recommend you watch
Kartoffel's videos on the subject. If you have Photoshop you can also do most of the other stuff I do for these texture packs, you'll just need to install the free
Intel Texture Works plugin. Remember to always save in linear color space (sRGB will make your textures look too bright or too dark in-game because they are gamma corrected, and Skyrim's rendering pipeline already implements its own gamma correction at runtime) and make sure to save Color + Alpha if there is an alpha channel in the image that you want to keep. Those rules will not apply to every game. Some games, like those for the Unity or Unreal engines, will often require gamma corrected textures or textures with premultiplied alpha. Do some research on the specific game you're working on before committing too much time to it, that will save you a lot of grief. A friend of mine made something like 300 textures for Skyrim before realizing they should be linear, not sRGB. So every texture had his own personal monitor color profile embedded in it lol.
I recommend BC7 fine for everything but sometimes you want to use uncompressed for normals if you really need it to look good at close range. Especially for anything glossy/shiny. All modern forms of compression for the DDS format cause little blocks to appear and each block has its own limited palette. It is sort of like a hybrid between dithering and JPEG. For BC7 these blocks are optimized very well (that's what your processor or GPU is being used to calculate: the ideal configuration of blocks to achieve the best possible appearance for a given 128 bit block) so that photographs compressed with BC7 are typically indistinguishable (by humans) from the uncompressed version. But the compression format does not do a great job with normal maps, because normal maps are not rendered like photographs. Each channel is used completely separately for a different purpose and pixels are treated more like coordinates than colors. The composite RGB image might look okay, but the blocks become apparent if you look at each individual channel separately. And separately is how they are used when the game shades the mesh. So compression in normal maps results in visible blocks in the shading when you get close enough to the mesh. This can leave grid-like artifacts on certain objects especially where specularity is high. If you look through the images you will see examples of this where you can see a lot of 90 degree angles that shouldn't be there, especially apparent on round, curved, circular objects. Especially rivets. This isn't pixellation, as the blocks are larger than pixels. These are compression artifacts in the normal map.
If the normal map is high resolution enough, then 4x4 blocks will not be visible at a reasonable range, so you might as well compress the normal map. BC7 files are about a quarter the size of uncompressed 32bpp files, so we want to use them wherever possible. But if we are talking about a 1K normal map on a cuirass or a shield then it makes sense to save without compression, because parts of these meshes will be visible at very close range when the player is in 1st person mode. Also, bearing in mind that a 4K BC7 file is the same size as a 2K uncompressed file, you might have to choose between a smaller uncompressed normal and a larger compressed normal. They have an equal performance impact but which looks better? If the image is already 4K then don't downscale it just so you can save it without compression. But if you're thinking of upscaling a 2K normal map, don't bother unless it's drawn on such a huge mesh that pixels are clearly visible. For normal maps the compression makes a bigger difference than the size. So I don't have a lot of hard and fast rules to give as advice. I use compression sometimes but not all the time. But when I do use compression I always use BC7 since it's much, much better than everything else. In other games you could also use BC6 for HDR images. Do not use BC7 if you're making textures for LE, since it cannot render BC7 images. For LE you should use BC5 for maps with alpha channels, and BC3 for anything without an alpha. That is pretty much all you need to know to start, everything else should be explained in Kartoffel's excellent videos.