At first I want to say that I think my problem is not siduction-specific.
The latest kernel which is able to shutdown my PC correctly is 4.2.3-towo.1-siduction-amd64.
4.3 and later kernels fail to shutdown my laptop completely from runlevel 2.
Maybe some latest 4.2 kernels (> 4.2.3) have this bug too, I don't know.
4.4 doesn't work too. Tried debian kernels instead of siduction ones - the result was same.
So the problem is: if try to shutdown - it writes some messages like "shutting down this", "shutting down that" and at some moment the system hangs and that's all. If I press ctrl-alt-del few times, it tries to force shutdown, but with no success. It kills some services, even parks HDD heads but doesn't shutdown completely anyway.
If I propagate no_console_suspend option to the kernel at boot - I'm able to see what's happening. Actually the lightdm refuses to shutdown. And it looks like systemd is not able to kill it though it tries. I thought that it's a lightdm problem and tried switching to SLIM - but result was the same: systemd (or kernel, I don't know) isn't able to shutdown the display manager.
Also interesting things happen:
1. If I boot into single mode (runlevel 1) and then manually call "init 2" - then I'm able to shutdown normally.
2. If I propagate "systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M" options to kernel - the boot becomes quite long and slow. Seems like it causes daemons boot order to change somehow and I'm also able to shutdown normally.
So I think the issue is in systemd daemons setup - the dependencies between them (especially display manager startup dependencies) are broken and the bug becomes apparent only on kernels >=4.3.
Can anyone tell me what to do next? How can I change display manager's daemon dependencies and what can it actually depend on?