With regard to discrimination in the case of people who have dual citizenship versus people who don't, first of all, not all distinctions constitute discrimination. Canada has obligations under the Convention on the Reduction of Statelessness, and we are bound by those rules. I should note that in that convention it says that there is no problem with a country having the right to remove a person's nationality if the person does things that are disloyal to the state and can cause harm to the state. This is fully within the bounds of that convention.
I'll say also that there's a very simple way to prevent your citizenship from getting taken away—don't commit terrorism, don't commit treason, and don't be involved in armed conflict against the Canadian Armed Forces. I don't see this as government arbitrarily seizing citizenship from people. I see this as something else. If you don't want to lose your citizenship, all you have to do is avoid the crimes I just mentioned. There is a very easy solution here.
You could even make a new concept. If you commit these crimes, you will lose your citizenship. You could make it almost a contractual obligation. You could include this in the citizenship oath, for instance, so that there's an understanding that if you commit these crimes, your citizenship is subject to be removed.