The SCR format can be saved from all emulators. It's supported by all Spectrum image tools. It's also the most convenient format for developers. This format can perfectly represent 99.9% of our game screens (including hidden pixels), if we simply add an extra column in ZXDB to store the border color (as suggested by [mention]4thRock[/mention]). That's exactly how ZX-Art handles it. I think this is the best option we have.
The BSC format cannot be saved by emulators and it's not supported by any tools. In practice, anyone producing a BSC file would need to generate SCR first, then convert it. Anyone that downloaded a BSC file would need to convert it to SCR first before using it. So it would be better to store and provide SCR files directly. The BSC is such an obscure format that attempting to search for the Spectrum format BSC in Internet will only give you
this link, that refers to something different. So it's not a better choice than SCR.
For the few remaining cases, we can use a special format more adequate for each case. We currently use MLT and IFL for multicolor screens, and SS4 for Sam Coupé screens. We can also adopt more special formats as needed and, when all else fails, store images too (preferably PNG).
For instance, the animated loading screen for
Heavy on the Magick is currently stored as both SCR and animated GIF. The running screen for
Rotatrix is stored as PNG only, because a SCR wouldn't show anything (everything happens in the border outside the screen). The
Chromatrons Attack screens are PNG screenshots, because this effect cannot be properly seen on emulators or viewers. The
Aquaplane running screen is currently stored as GIF that doesn't show the border, which is a bad choice: it should be replaced by both a SCR of screen content content, and a PNG that included the border.
Notice that I'm suggesting PNG to capture complex border images, but if there's a Spectrum file format that can do the same, it would be even better.