I would like to allow users of my code to make derivatives, but disallow derivatives from imposing any restrictions on the usage of my code. Is there an existing license that would fit this specification?
Firstly, you need a copyleft license, so that you can ensure derivatives would be subject to the same license conditions.
Secondly, the license must prevent imposition of additional restrictions that are not found in the license.
Both of these are fulfilled by the GPLv2. Section 6 states:
You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
And also Section 10 of the GPLv3:
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.
The same conditions can be found in LGPLv2.1 and LGPLv3.
I voted up Ruben's answer, but also noticed a possible confusion in the question:
allow users of my code to make derivatives, but disallow derivatives from imposing any restrictions on the usage of my code
If you meant "disallow the copyright holder of the derivates from imposing any restrictions on the usage of their derivatives", Ruben is correct; use the GPL. This is exactly what it was designed for.
If you meant "disallow the copyright holder of the derivatives from imposing any restriction on my use of my own code", that just can't happen. If you own the copyright, licenses don't limit you. You can do whatever you want with your own code. That includes continuing to license it however you want. Your users will remain quite free to continue to use your code in accordance with the license(s) you gave them, no matter what someone else does with a "derivative" copy they made.
Where the GPL comes in is if you don't want someone with resources swooping in, improving your code (or perhaps building a great product using it), and then requiring different license terms you had no input into in order to use their new improved "derivative" code.
I think the Ms-PL license follows the exact specifications listed.
Under section 3 (D): (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
CC BY-SA or its non-commercial cousin, CC BY-NC-SA, do not allow changing out of the license for derivates as altering the license is violating the SA Part, unless it is essentially reworded. There is no compatible license for the 3.0 version.
For your application, the CC BY-SA 4.0 compatible GNU GPL v3 might be the better choice: it shares the force to stay in the license scheme and is worded even stronger in this regard, disallowing to put any different license on it. It is also very common in software projects.
Apache License 2.0 is one that should achieve what you need. https://opensource.org/licenses/Apache-2.0