Atari 2600 et al didn't even have a frame buffer, let alone hardware sprites. The CPU had to draw everything on the screen on each scanline as the vertical beam position reached it, much like the work the Amiga's copper has to do.
Other examples such as the relatively advanced Mattel Intellivision, the CPU had no access to graphics RAM or hardware registers outside of vertical blank. Also usually on machines of that era, if there was any static background graphics capability, it was "character based" displays with up to 256 8x8 characters in only two colours, which is much lower bandwidth. The later 16 bit consoles also used a variant of this technique but with more characters and more available colour combinations, which is very good for scrolling tilemap based games and perhaps how they managed so many hardware sprites. But the Amiga uses bitplanes which can be anywhere in Chip RAM and have to be read into the display hardware to be displayed on the screen.
C64 had only 16 colours anyway so what does "independent palettes" even mean in this case? They used the same colours you could use for the background graphics. On the Amiga if you are only using a 16 colour screen, your sprites use a different set of 16 colours. How independent do you want it?
Also I really want to clarify this. On the Amiga horizontal scrolling isn't what causes sprites to disappear. Setting the horizontal display fetch 16 pixels earlier (further left) disables the last sprite because the bitplane data has to be read during the time it would otherwise have read that sprite's data. You can do scrolling without doing that but not if you want the screen to go right to the left-hand edge. You will note that Turrican, for instance, doesn't go all the way to the edge, so I guess they wanted to use all 8 sprites.