I have some suggestions for GB/GBC/GBA encoding based on experience in making this set of 4k encodes for YT from Console capture, with the captures being 1:1 with emulator the same ideas should apply.
https://www.youtube.com/watch?v=Oo6HcU0iP4c&list=PLH-rsHQS9LqjDJCGTuLF7YM_FrcsTW9qz
Even Integer Scales for Color
First and most importantly for quality, I've been sticking to even integer multiples when scaling. YT doesn't have full resolution color, they do 4:2:0, so 15x causes the color to blur at the transitions between original pixels. Then 15x at 4k is 7.5x at 1080 and 5x at 720, so the lower resolutions are also affected. 12x at 4k goes to 6x at 1080 and 4x at 720, so no harm from 4:2:0 at those resolutions. The 360p30 size is also a 2x scale with this setting so it's only impacted by the framerate loss and not color blur. Some might prefer the picture to fit the full screen, IDK I prefer avoiding blur and letterboxing the empty space.
Applications for lossless video
Now also I was talking with Spikestuff about whether to use lossless or a high quality CRF between 7 and 14. When doing these extreme integer multiple scales of pixel art games, the differences between lossless and lossy aren't as dramatic, and the output size is mostly affected by audio and not video. At only a 4x scale to 720p, my quad core machine did a lossy pass of Yellow NSC at 410fps and lossless at 355fps, with the output size being 14MB for lossy and 50MB for lossless (video only). At a 12x scale for 4k the same machine does 56fps for lossy and 40fps for lossless, 148MB and 191MB. This is for 12 minutes of video: lossless 4k footage of 12x integer scale GBC is only ~1GB/hour. It seems in this weird use case, lossless is not actually substantially worse than lossy for filesize or encode speed. The filesize is still 3x worse at 720 with a 4x scale, but 100MB and 300MB an hour are both very small for video (lossless audio would be larger).
This is the ffmpeg line I used to do the upscales for YT along these guidelines. The GB/GBC footage was already letterboxed to 240x160, which worked fine with them both having the same 12x limitation at 4k.
ffmpeg -i input.avi -vf scale=2880x1920:flags=neighbor,pad=3840:2160:(ow-iw)/2:(oh-ih)/2 -c:v libx264 -crf 0 -c:a copy -pix_fmt yuv444p output.mkv