Just to clarify, Tacitus is said with a hard c if you are speaking Latin with a classical pronunciation. It is pronounced with an s if you are using the anglicised version of the name.
There are a couple of ways to determine how languages would have sounded in antiquity.
The first is to compare how the same words were written in other scripts at the time. Taking the name "Tacitus" for example, we might look to see if his name shows up in any contemporary texts written in the Greek or Hebrew alphabets. If Tacitus appears as Τάκιτος rather than Τασιτος, we can assume that the Romans probably pronounced Tacitus with a hard /k/ sound rather than the /s/ sound we use.
The second way is to use the comparative method against Romance languages to try and reverse engineer the sound changes that took place in various Romance languages to identify the original sounds in the common ancestor language (in this case Latin). So, in this instance, we would look at how Tacitus is pronounced in modern Romance languages. If, for example, Tacitus is pronounced with a /k/ in Romanian, but a /s/ in French, a /θ/ (th) in Spanish, and a /t͜ʃ/ (ch) in Italian, and we know that a /k/ that precedes an /i/ makes those same changes in those other languages, then we can conjecture that the original sound was a /k/ that got affected by sound changes.