もしかすると、onCollisionが1フレーム間に2回以上呼ばれて困っているとか?
1秒間に呼ばれるFixedUpdateの数 >= 1秒間に呼ばれるUpdateの数
というように設定すれば、どれだけ処理落ちしようが
1フレーム間に確実に1回以上はFixedUpdateが実行されるはず