I mean, a variable regulator is a fixed regulator with external feedback resistors, but also the 1117 comes in flavors with integrated feedback resistors to have only the fixed output voltage. Typically denoted as 1117-12 or 1117-3.3 or somesuch. SMD packages also offer heatsinking through their tab through the board, and with lesser thermal transfer you can still stick a heatsink on the package itself. There are options if you are not constrained to a TO-220 footprint.
Otherwise, there are both some other variants that could be good choices, and there are many circuit variations of the classic 7812 that give you more CMRR, lower drop out voltage, or are binned for tighter regulation. There was a time when they were somewhat similar, but I think you'll find that a survey of several 7812 marked modern parts will turn up quite a number of differing implementations with different characteristics.