I have a motor that normally runs at about 0.65A. When stalled, this current shoots up to about 5.5A (according to the datasheet), which is far more than the low current ICs I'm familiar with (e.g. L293D) can handle. Using a >5.5A chip seems to me like overkill, since it will only rarely be needed (and are usually more expensive). Is there any way I could implement a hard current limit (say at 1.5A) that will cut power to the motor when it shoots up to its stall current? Or are there any good motor driver ICs that anyone can recommend?
This is a common issue for large AC power systems. The starting current of a large induction motor can be quite large. So large the NEC has a bunch of special rules to allow larger breakers, thinner wire, and the like, where that would not normally be permitted in any other case.
One of the solutions in the industrial setting is to use an electronic controller to limit startup current - for instance a flux vector drive does this as well as allow fine speed control. Of course that is for AC induction motors.
Methods differ for controlling other motor types, but the same concept could apply. For instance an induction motor will give you plenty of back EMF if you control it properly... a series-wound DC motor won't, and you might just have to have a DC-DC converter be part of your controller which is capable of the startup current it needs at the least voltage it can live with, which would be quite low.
This can be part of a "prevent the motor from overheating" strategy, e.g. on a DC motor limiting current to continuous-safe-for-commutator so it can start moving the moment the user frees it; but also occasionally spiking current to see if the motor can get unstuck on its own.
I think the simplest thing is to put a fuse in series with each motor. According to the Absolute Maximum characteristics section of the L293D datasheet, it can tolerate 1.2A for 100uS, or 0.1 ms. In this case, I would chose a fast acting fuse that's rated for 33% above the nominal current of 0.65A (per this timing app note by Littelfuse.). That would be 0.85A. Then I would look up some fuse datasheets on digikey to determine how quickly it opens when subjected to a current of 1.2A - which is roughly 140% of your nominal rating - and find a fuse that opens in < 0.1 ms under those conditions.
If you want to get fancy you can chose a DC/DC controller that adds cost and complexity to your RC car hat will probably not stall very often anyway. That would allow you to limit the current more intelligently.