1. Как я понял изучение языка Си - это то, что должен знать любой разработчик?
Нет
Python и Си имеют много общего, значит ли это что в принципе, изучив до определенного момента Си, можно будет параллельно изучать и Python?
Нет, не имеют и да можно
Для начала поставьте цель, зачем вам это всё, зачем начните с поверхностного ознакомления, изучение основ языка, написание простых программ. Если всё ещё есть желание этим заниматься, то берите в руки литературу по информатике("Код. Тайный язык информатики", книги Танненбаума по архитектуре ПК и т.д.) и изучайте, чтобы понять основы, да, в этом вам поможет C и assembler. Параллельно углубляйтесь в то, что вам интересно(веб, мобильная разработка, десктоп, геймдев, что угодно). Изучив основы, будет проще понимать любой язык и ваш код будет эффективнее опять же на любом языке.
Ну или есть второй путь: изучаете немного python, php или javascript + html + css, парочку фреймворков и хуячите код, как мартышка.
Изучение линукса? если да, то какой сборки?
Вообще нет, не обязательно, для общего развития полезно. Ну и конечно, программировать в линуксах удобнее. Если решите, то выбирайте Ubuntu/Debian/Arch или любой другой, не принципиально.