I sticked to the CS degree. Let me argue that by answering some of your specific reasons:
1a) Grading system is kind of broken, it is absolutely true. It is too tempting for students to focus on grades rather than on learning. But that is until you realise that. Now you can do both! It is good you've noticed it before your degree ends. From now onwards, you'll be able to combine learning and passing exams. In fact, I you do so, while learning, rules to pass the exam will become easier to understand.
2a) They may o may not be teaching practical stuff, but remember that practical stuff usually has a shot live span. Learning different stuff at the degree will exercise you to be able to adapt to any future stuff. Besides, you should be able to appreciate all non-academic things that you learn while you are at the faculty.
1b) The world shouldn't be like this, but maybe in the future some people will judge (and pay) you by your résumé rather than your abilities… but, whether you get the degree or not I'd urge you to run away from that kind of people. There will be more opportunities in CS market.
3b) One of the many evaluations of a degree is that you must show you can commit to all adversities (grading system, professors, team work, etc.). You must prove that you know how to get to the end of any journey you've begun. Many people will look for that. However, the world is also full of happy successful academy dropouts and people who never get to it from the beginning. You can prove your value without academia.
Cheers!