I really think this is normal. My ds was a horrid baby who screamed and cried from day one and is only now becomming a happy little chap but even he does the things you describe! He hasn't yet (thank God) discovered biting, but he head butts and smacks when he's fustrated or tired. I remove him and place him on a cushion if he is headbutting as there is no getting through to him. He just gets so frustrated and can't control the headbutting impulse, at least on a cushion he can't hurt anything.
He regularly throws toys and screeches at them when he gets fed up or can't make it do what he thinks it SHOULD do! I tend to take things off him if it can cause harm when thrown! Then distract him or take him into another room and point out something of interest to him. If he's still screaming and carrying on then I ignore him.
He has also taken to screaming an ear piercing squeal whilst crying if he doesn't get his own way, it lasts for what seems like ages and he throws himself around screeching (so loud it hurts my ears!). He has always cried if he didn't get his own way or if I took something off him but this past fortnight he seems to have upped his game! Grrrrrr.
I do keep calm though (even though inside my blood is boiling!). I just don't acknowledge him while he doing it at all, wait til he's calmed down and then give him a big cuddle and distract him all over again.
The biting/ scratching I would just move him away and say a firm 'no'. He will cry and scream but ignore ignore ignore. Any attention he gets for it, good or bad will only enforce that it's a good way to get mummy's attention so he will do it all the more.
It's so hard, especially if your ds has been a happy easy going baby, I am used to my ds being stroppy so the tantrums are a breeze compared to the 10 hours of crying and grizzling we had til 9 months but it is non the less infuriating!
How is he when you are out and about? If he seems OK in the pushchair and at toddler groups, I'd get out as much as possible. I always feel better when out the house. I think ds does too, sometimes the same 4 walls can create a bit of a pressure cooker for babies who get bored and frustrated easily.
It will pass and all will be ok. Keep calm, you're doing great!
Oh also, don't forget that throwing at this age is a normal developmental stage. They are testing out gravity and learning how they can move things etc. I always make sure I give my ds some 'safe throwing time' everyday such as hollow balls from a ball pool to throw in a card board box or screwed up paper to throw in the bin. i know it sounds daft but actually he seems to get less frustrated if I let him throw certain things and make it 'OK' for him to do it when it's appropriate.