Are you using Live’s “External Instrument” instrument to control your hardware synths? That’s the tool that you need here.
In the External Instrument there’s a box in which you can adjust the latency for each specific synth to get it bang on the grid when playing and when recording the audio from it.
To set this up, do the following.
Create a MIDI track and load an External Instrument into it. In the External Instrument, set the MIDI port and channel for the synth you want to set up, and the audio input you use to listen to and record from that synth.
Record a series of MIDI notes that are quantised to the beat (8ths or 16ths best for this) and use that MIDI clip to play the synth you want to set up. It should pretty close to being on the grid (although in reality it may well be a few milliseconds off it, this is hard to hear when playing).
Create an audio track and set the Input for the audio track as the output from the MIDI track with the External Instrument in it… i.e. the audio output from your hardware synth MIDI track (via the ‘External Instrument’ instrument) is feeding into the audio track you just created.
Arm the audio track and click in a clip to set it recording, let it run for 8 bars or so then stop.
Open up the audio clip. It will show you how far off the grid the synth is playing each note. If you zoom right into the waveform and drag from the beginning of the waveform for a note to the grid marker for the note in question (8th or 16th), at the bottom of the window in Live you’ll see a readout of the number of samples between the grid marker and the sample start point. That’s the latency adjustment you need to make. If the readout says 5ms, then you dial 5ms into the External Instrument latency adjustment box, if it says 8ms then you dial in 8ms and so on.
Repeat the process above, adjusting the latency number in the External Instrument box each time until the recorded audio waveform and the grid marker are pretty much aligned (around 1ms either way is fine).
Finally, save the External Instrument as an instrument preset in your User Library so the next time you want to record from that particular synth you just load the User Preset you saved and you’re good to go.
If I’ve lost you at some point in the above, have a search through YT for tutorial videos on all of this, there should be some good walkthroughs there.