Can I flash a custom ROM and a separate custom kernel after? I currently use a Galaxy S3 Neo and have recently flashed the latest Resurrection Remix ROM (android 5.1.1 based on cm 12.1). After doing this, I have experienced multiple random reboots which I found to be caused by kernel panics. For this reason, I did some research and some people suggested flashing a new kernel as a solution. Would it be safe to flash a kernel which is not associated with the resurrection remix ROM to a device using this ROM?
Yes, flashing a kernel is mostly safe. The worst thing that could happen would be a boot loop aka soft brick, which can be fixed by flashing another, proper kernel.

Remember that the kernel in your case has to be CM (CyanogenMod) compatible because Resurrection Remix is built on CM. There are many different kernels, so look for the one that matches your needs (performance, stability, battery life).

XDA developers helps with titles (look for [KERNEL] in the title) and the XDA DB gives you a quick and easy way to find kernels and ROMs you want.