How exactly do you input video into your TV? Home-made SCART cable? How do you create the composite sync?
Your zigzags may be a symptom of poor sync. This is particularly an issue with "smushy sync", where the H&V wires are simply twisted together, possibly through a resistor. It leaves a lot of "junk" in the vertical sync period, which is what tells the TV when to start drawing a new frame. Now the TV has trouble locking onto the vertical sync. After a few more confused microseconds the TV works it out anyway, but that short time where it is left floating leaves you with a zigzag.
The issue with the top/bottom getting cut off is mostly to do with overscan and your TV vertical size settings. Both of these can probably be adjusted via the TV service menu, very little can be achieved via CRT_emudriver. Entering service menu usually involves performing some arcane, codified ritual with the original remote control, and is different for every manufacturer and for most model families too. Search online, I hope you have the original remote.
It is possible to get 288-line vertical games (like Galaga) to display on a horizontal TV, but you'll probably always lose at least some lines and the game will be playing at 50hz (rather than the original's 60hz). You can use the sliders built into MAME to cut a few lines out, if you need to.
You can also get 256-line and 240-line games to fill the screen, possibly with no missing lines, if you *force* them to display in a 288-line video mode. These vertical games will/can be "pixel perfect", except for the scan lines running the wrong way (you will always have scan lines running the wrong way if you display vertical games horizontally). Fortunately, with Groovymame working it's magic and automatically adjusting the game speed for you, you might not even notice the mismatched frame rates. If you squint a little then maybe you won't notice the scanlines.
Vertical games will always look better if you rotate the monitor 90 degrees, and set appropriate rotation options within MAME.