This is a way more hairy subject than it appears on the surface, so you are not getting a puzzle answer, but a real-world one instead.
TL;DR: The given requirements are logically incompatible with the statement "round-robin tournaments can end in a draw", so OP's question doesn't have a clear correct answer.
The difficulties arise, because you need a model for the thing you are measuring in the competitors, before you can judge whether a tournament system correctly measures that model.
If you keep to a very simple model (each player has one hidden number called "tournament performance for this tournament"; bigger number always wins), then it makes sense to run a (continued) knock-out tournament. To find out the 2nd place, have the players directly knocked out by the winner play another knockout, and then the players knocked out by the winner and second place compete for the third place.
However, you go on to say "Round-robin can result in inconclusive loops." Using the assumption of one hidden variable from above (which happens to be necessary for it being possible to fulfil the requirements), no, it absolutely cannot. Natural numbers don't go in loops.
This means that your model must be something else, like "one hidden variable (tournament performance), times a random fuzz factor (performance in a given match)". This seems quite a reasonable model, by the way.
The main problem with this assumption is that a knock-out tournament no longer makes sense. That's because the fuzz factor affects the results so that they aren't necessarily transitive anymore: if player A beats player B, and B beats C, that doesn't guarantee that A would have also won against C. This means, especially if the fuzz factor is relatively large, that there's no particular reason for you to declare A better than C without giving C the chance to play against A.
If you then add possible directional bias to the model (A's defensive style is good against B's aggressive style, but often loses to C's balanced style, which in turn is at a disadvantage against B), your chop suey is ready to serve.
Depending on your model, then, a different tournament format is the best choice for you. A round-robin is often the desired one, since it measures "everything" once, and being perfectly symmetrical, it doesn't introduce any pairing bias whatsoever. Also, whatever your model, having everyone play against everyone else will give you very good data on which to base the ranking.
If a round-robin ends up producing a tie (necessarily involving a result loop of one kind or another), this is not a symptom of the tournament system being bad, it's a symptom of the players showing equal performance in the bestest and fairest performance test known to man.
In this case, the correct conclusion is to reward tied players equally. You could also do tie breakers (rematches) if you want to, but keep in mind that if you demand a result that is different from what the round-robin gave you, you are searching for differences at where there weren't any.
For the particularly mentioned purpose of finding out the top three participants, I'd probably go with a Double Knock-out system; it strikes a nice balance, giving a very credible winner (anyone that lost twice didn't deserve to be the champion) without tie breaks, a very reasonable guess for second place, and a good candidate for the third place (especially if the tournament is reasonably seeded), while still being reasonably simple to organise.
Full disclosure: I may have some overly strong opinions on tournament systems, having battled (for and against) some international organisations and their rules commissions on these very issue for several years, so please take everything I say with a very unhealthy dose of Himalayan rock salt, and only do what makes sense to you yourself.