<p>Marlin has a <a href="http://marlinfw.org/tools/lin_advance/k-factor.html" rel="nofollow noreferrer">Linear Advance calibration pattern generator</a>, but I find it's hard to use because:</p>

<ul>
<li>It only prints the initial layer on the bed, where bed irregularities interfere with accurate reading of it.</li>
<li>It doesn't do proper retraction and priming, so a mess of strings and underextruded initial segments/non-adhesion mess up the results.</li>
<li>It's hard to visually evaluate.</li>
<li>Getting a very wide range of K values involves multiple runs.</li>
<li>It's hard to clean up.</li>
</ul>

<p>Is there a better procedure for calibration of K value for linear advance?</p>

I don't know what the value is, but there are a few ways to find out. It is very hard to measure this with a caliper, but it can be done, mark the upper and bottom of e.g. 10 windings and measure this with a caliper. Alternatively measure how much the screw drops after 10 full turns.
There are special tools that give you the answer directly, they cost a few Euros/bucks but can be very handy; a thread gauge, just place the 0.5 mm and the 0.7 mm beside the screw and you will instantly see which is the correct one.
I bought mine at a typical Chinese vendor site.