I'm submitting the following method that I believe to be strategy-free.  There is no randomness involved (although like any method without randomness, it is subject to true ties).  I believe it is immune to unresolvable cycles, with the exception of true ties.  (I have not proven this last point)
<br><br>I should probably make clear that I submit this not so much as a possible system to be used for real
public elections, but as something to use a hypothetical for comparison
to and evaluation of other methods.  I expect that it is very likely to produce similar results to some Condorcet methods.<br><br>First, I want to restate Approval Strategy A (which Rob LeGrand first named, I believe), as well define as "Range Strategy A" (which I am naming):
<br><br>Approval Strategy A<br><br>If an Approval voter knows with 100% assurance who would be the winner without his vote, and who will be the runner up, his strategy is very straightforward:  give a vote of yes to every candidate he prefers to the leading candidate, and also give a yes to the leading candidate if that candidate is preferred to the runner up.  All other candidates should be given a no. 
<br><br>Range Strategy A<br><br>If a voter is allowed to vote with intermediate "shades" between yes and no, for instance being allowed any floating point value in between zero and one, Approval strategy A still is the best strategy as long as the voter knows 100% who would be the winner and runner up without his vote.  If he does not know, he can give intermediate votes based on the percent chance of the various outcomes.  In the table below, I show a situation where there are 4 possible outcomes, each with associated probabilities.  In the rightmost column is the Approval ballot showing optimum strategy (Approval strategy A) were this outcome known to be the case.   
<br><br>Voter preference:<br> B>C>A<br><br><span style="font-family: courier new,monospace; font-weight: bold;">Leader    Runner-up  Likelihood    Optimum ballot</span><br style="font-family: courier new,monospace; font-weight: bold;">
<span style="font-family: courier new,monospace; font-weight: bold;"> </span><br style="font-family: courier new,monospace; font-weight: bold;"><span style="font-family: courier new,monospace; font-weight: bold;"> A            B          73%        A:0, B:1, C:1
</span><br style="font-family: courier new,monospace; font-weight: bold;"><span style="font-family: courier new,monospace; font-weight: bold;"> B            A          15%        A:0, B:1, C:0</span><br style="font-family: courier new,monospace; font-weight: bold;">
<span style="font-family: courier new,monospace; font-weight: bold;"> A            C          10%        A:0, B:1, C:1</span><br style="font-family: courier new,monospace; font-weight: bold;"><span style="font-family: courier new,monospace; font-weight: bold;">
 C            A          2%         A:0, B:1, C:1</span><br style="font-family: courier new,monospace; font-weight: bold;"><br style="font-family: courier new,monospace; font-weight: bold;">Given the above, we can create a composite (weighted average) ballot as follows:
<br><br>A: 0, B: 1, C: 0.85<br><br>C is given a .85 because there is an 85% chance that 1 (yes) is the best vote, and 15% chance that 0 (no) is the best vote.<br><br>We will call this way of making a composite ballot to use in a Range election "Range Strategy A".
<br><br>-------<br><br>Given the above definitions, here is the system I propose.  <br><br>Voters rank candidates in order of preference (as they would with Condorcet, IRV or Borda elections).<br><br>In multiple rounds, each ranked ballot is converted into a Range ballot, using Range strategy A.  On the first round, each candidate is assumed to have an equal probability of winning as every other candidate, and Range ballots submitted accordingly.  The winner and runner up are calculated (simply summing all votes for each candidate), and another round is conducted with it being assumed that those are 100% likely to be winner and runner up.  On subsequent rounds, it uses an average of all past rounds to determine the percent chance of each candidate being winner or runner up, and each ranked ballot converted into a Range ballot accordingly.
<br><br>Eventually, an equilibrium should be reached, settling on a winner and a runner up, and with each ballot now approaching a "pure" Approval ballot, with all candidates given either a 0 or 1 on all ballots.
<br><br>---------<br><br>A few notes:<br><br>This method uses the concept of a "software agent", which is a program or part of a program that operates solely with the interests of a single "client", in this case a single voter.  The process of converting the ranked ballot to a Range ballot must be done without regard for the "collective good", otherwise, the voter will find that he can do better if he tries to "trick" the agent into converting it in ways more aligned to his own interests.  This way, there is no reason for a voter to lie to his agent, since his agent is always working towards his interests alone.  Of course, we hope the "collective good" is still achieved, but it is done in a way that is fair and stable as it will not give people incentive to be dishonest.
<br><br>Note that Range Strategy A is not necessarily the "best strategy", if used in a normal election. 
It would still probably be strategically advantageous to vote all 0's and 1's in a final
election, regardless of whether we know 100% the outcome or not.  However, in the above method, Range ballots are never used in a final round, but are only used in preliminary rounds (by the time an equilibrium is reached, the ballots will always have only zeros and ones, effectively being Approval ballots).  In the case of preliminary rounds, though, it makes strategic sense to vote with "shades", because it increases the chance that an equilibrium will be found that is agreeable to this voter.
<br><br>To speed up processing, all identical ballots can be grouped together and processed at once.<br><br>I have not covered what will happen in the case of ties during preliminary rounds, nor covered how to handle equality within ballots.  Both of these are easy to handle in a consistant and logical way, but I avoided discussing them so as not to distract from the basic description.  I will be happy to explain in detail if anyone cannot see how they should be handled.
<br><br>It is possible that the second round could be done in a better way.  Instead of submitting ballots  based on the assumption that the winner and runner up from the first round are 100% likely, this could be "averaged in" with our previous round's assumption, that all candidates are equally likely to win.  Again, I glossed over that to keep the description fairly simple, and because I don't think it would ever affect the final result.
<br><br>While I have not proven that this system will always find an equilibrium, I believe that by eliminating "cusps" I have removed the main thing that causes similar methods to get stuck in cycles.<br>
<br>I'm not sure if this should be considered a DSV method, because voters simply rank the candidates.  I chose not to have voters give each candidate a Range-style "rating" on their ballots, for a few reasons:
<br>1) I want it to be easier to directly compare to Condorcet methods<br>2) I prefer ranking rather than rating from a UI perspective.  I feel that  rating will always feel like there is strategy involved (whether or not there really is).
<br>3) From a practical perspective, ranked ballots are easier to compress and optimize.  Because it is easier to "package up" the complete set of ballots of an election (say, to allow them to be downloaded on the internet), it has the ability to be more transparent.
<br>4) If an equilibrium is found (where all voters are submitting Approval Strategy A ballots), ratings will not make a difference, only rankings.<br>