Video Game AI State Change
You are right that this roll is biased.  Instead of using a fixed range and less-than for your rolls, you should just roll once and use specific ranges to choose which action is taken.  Something like:

int spinAttackChancePerTickMin = 0;
int spinAttackChancePerTickMax = 50;

int spinDefenceChancePerTickMin = 50;
int spinDefenceChancePerTickMax = 100;

int roll = Random.Range(0, 100);

if (roll &gt;= spinAttackChancePerTickMin &amp;&amp; 
    roll &lt; spinAttackChancePerTickMax)
{
    StartCoroutine(SpinAttackTimer());
    continue;
}

StartCoroutine(DefenseSpinTimer());