I did not find any valid resource online that is updated and compare the texture compression formats for OpenGL for desktop. Everything is either outdated or for mobile.
Looking on my platform, I see many different formats:
GL_ARB_compressed_texture_pixel_storage
GL_ARB_texture_compression
GL_ARB_texture_compression_bptc
GL_ARB_texture_compression_rgtc
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_latc
GL_EXT_texture_compression_rgtc
GL_EXT_texture_compression_s3tc
GL_NV_texture_compression_vtc
I have some other if I query directly for the GL_COMPRESSED_TEXTURE_FORMATS
public static final int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 33776;
public static final int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778;
public static final int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779;
public static final int GL_PALETTE4_RGB8_OES = 0x8B90 = 35728;
public static final int GL_PALETTE4_RGBA8_OES = 0x8B91;
public static final int GL_PALETTE4_R5_G6_B5_OES = 0x8B92;
public static final int GL_PALETTE4_RGBA4_OES = 0x8B93;
public static final int GL_PALETTE4_RGB5_A1_OES = 0x8B94;
public static final int GL_PALETTE8_RGB8_OES = 0x8B95;
public static final int GL_PALETTE8_RGBA8_OES = 0x8B96;
public static final int GL_PALETTE8_R5_G6_B5_OES = 0x8B97;
public static final int GL_PALETTE8_RGBA4_OES = 0x8B98;
public static final int GL_PALETTE8_RGB5_A1_OES = 0x8B99 = 35737;
public static final int GL_COMPRESSED_RGB8_ETC2 = 0x9274 = 37492;
public static final int GL_COMPRESSED_SRGB8_ETC2 = 0x9275;
public static final int GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
public static final int GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
public static final int GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
public static final int GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279 = 37497;
public static final int GL_COMPRESSED_R11_EAC = 0x9270 = 37488;
public static final int GL_COMPRESSED_SIGNED_R11_EAC = 0x9271;
public static final int GL_COMPRESSED_RG11_EAC = 0x9272;
public static final int GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273 = 37491;
Although here Nicol says to not rely on the glGet
but on the extensions..
As far as I got, all of them are lossy, right?
Googling around S3TC/DXTx/BCx seems the one most documented online but it is also very old and also outperformed by the more modern formats.
A very nice website comparing them is this one, but is for mobile and is also the only website I found that explains the different targets of DXT3 and DXT5. But it misses the EC2, that seems to be mandatory on GLES3 and GL4.3.
Another interesting website is this one.
PVRTC seems to be the best one in terms of performances, but unfortunately it runs only on dedicated hardware. ASTC is also very good promising but has the same disadvantage of PVRTC. ATITC by name seems very old as well (ATI Texture Compression)
So, I wish to know which is nowadays the best compression formats for GL3+ on desktops in your opinion.
Edit: Adding another interesting link from Nvidia on Texture Compression with an accent on ASTC
Seems you already did a deep research about compression formats available.
Here goes my 2cents contribution: Most compressed formats are lossy. I guess only GL_OES_compressed_paletted_texture are not lossy, but it only supports 16 or 256 colors and there are some concerns about performance. It's supported by Adreno GPUs, as well on some Intel and Mali hw. Also, it is also not widely supported as ETC1. If fidelity is crucial, consider using uncompressed textures with good size. You can play with size (256/512/1024) and color depth (565/888) until you find the best balance quality/performance. You can leave your costumer to choose what is best for him/her, by allowing configurable texture quality.
Besides, doesn't matter if you chose "the best" format available, if your target client hw doesn't support it. If your application targets a wide audience, you must be aware that you must lower down your graphics requirements.
Another thing. Most "desktop" PCs today are actually notebooks powered by Intel Graphics. Unless you have enough resources to write alternative paths for a myriad of current graphics cards (NVidia, AMD, Intel), it's better to stick on the most common solution.
But what is the most used/ most available compressed format ? Well, check some database as Delphigl.de OpenGL database and OpenGL ES Database and consider the coverage of some compressed formats reported for each platform. Note that some old hw doesn't even support compressed textures.
As default option, keep a set of uncompressed textures and a set of compressed S3TC (DXT1, DXT3, DXT5) or ETC/ETC2 (good enough for RGB w/o transparency).
Good luck!