You need to create a safe area where he cannot hurt himself - high sided playpen for example - and stick him in it and let him tantrum to his hearts content!
Holding his breath is nothing to panic about - when he passes out, he will start breathing again.
Throwing himself to the ground, well, unless it's concrete and he really hurls himself at it or there is glass or something, then he might hurt himself a bit, but a little bump or scrape is not the end of the world.
I agree with others that you need to ignore. He is fast learning that he has you at his total mercy. These behaviours will continue and they will get worse.
My 2 have autism. ds1 used to throw himself downstairs , bang his head on the floor, kick, bite, scream...you name it!
When I could ignore, I did. When he was violent and it was not possible to ignore, I wrapped him. - my legs round his legs, my arms round his arms, my head tucked into his back. (forgot this once and he threw his head back and broke my nose!!)
When he was a toddler, we made him wear a helmet when in the garden, which was just a concreted yard, and he could have hurt himself a lot, so that is also an option. (we got one that he couldn't undo)
you could also invest in a harness, so that he physically cannot GET onto the floor when you are out, because when he throws himself, you hold him up so he doesn't connect.
But more than anything, you need to believe that no serious harm will come to him even if he does chuck himself on the floor!
Eventually, even the most stubborn child gets tired of hurting themselves and still not getting what they want!