Best way to replicate gun shots?

Hm, odd. You could try compressing your CFrame parameter and decompressing it in the server function to minimize the amount of data sent on each remote. Something like this:

It might work.