One major strategy that helps is something we call level design metrics.
Here you work out what kinds of level design arrangements are navigable, by testing them out in isolation.
We'll often build a "gym" level, with things like passages of varying widths, corners of varying sharpness, pits of varying lengths, etc.
We can try each setup on its own, or in combination, to establish which setups feel good with the game's current 3Cs (character/controls/camera), and where each one sits on our desired difficulty spectrum.
From this we derive a set of metrics: specified sizes of passages, features, and spacings, or modular sequences, which level designers can use to plan their levels and know they're navigable because they follow these conventions.
For non-rage games the focus is usually on comfort and flexibility — ensuring there's enough space that the player, their camera, and AI can move smoothly without getting snagged, that any of the player's abilities can be used without glitching/clipping, and that the player can clearly distinguish "that's a ledge I can jump to" from "that's a wall I can't jump over" without trial & error.
But for a rage game you can tighten the screws further to what's juuuust possible. ;)
Another ingredient that can help is analyzing the trajectory of moves like a jump.
Say you have a metrics gym where you can just make a 6-tile jump. You can record the trajectory of that jump so you know exactly how much room you have around it for obstacles, or what timing window you need for moving hazards that cross the trajectory.
That lets you take a possible jump and make it even harder without breaking its possibility.
If your mechanics are mathematically tractable, you can work out the equations describing possible moves, and the margin of error if the input is just a little off, to test this for any arbitrary angle/distance.
If they're not so simple, you could rig up a script that tries every combination of inputs in 5-degree increments & 0.016 s durations and records the outcomes, giving you good coverage over the whole space of possible trajectories.
If you want to go really deep, you could conceivably extend this analytical technique to an automated level verifier that uses a pathfinding routine to search the player movement space for possible solutions to a given level. By checking the range of deviation a given solution allows, you can estimate whether it's humanly possible or more likely limited to tool assisted speedruns. ;)