Hello @SWS-AlexVletsas,
To be honest, I was initially a little confused by the issue description until I realized that you were referring to turboprop engines rather than JET engines. 
As for turbojet and turbofan engines, there is actually no cap on CN1. There is, however, a cap on N1 when the commanded Ne tables are not used, but in that case N1 remains constant during the climb.
Therefore, the behavior you describe:
In MSFS Corrected N1 is capped at 100%, meaning that with full throttle the indicated N1 will decrease with altitude.
and
Take the Grand Caravan, 737 MAX or PC-12NGX and set it to full power and climb from sea level to 15000ft without moving the throttle. You will notice that indicated N1 will drop with altitude. IRL it should be stable, meaning that Corrected N1 should increase with altitude.
does not actually occur with turbojet or turbofan engines, including the 737 MAX.
With a fixed throttle position, N1 remains constant regardless of altitude or Mach number.
Alternatively, when the commanded Ne tables are used (mach_0_corrected_commanded_ne_table and mach_hi_corrected_commanded_ne_table), any desired N1 and corrected N1 value, including values above 100%, can be achieved at any altitude, Mach number, and throttle setting, exactly as it worked in FSX back then.
However, the limitation you describe does indeed apply to turboprop and turboshaft engines.
FSX allowed corrected Ng (represented as corrected N1), to be tuned in the same way as corrected N2 for turbojet engines: through the same tables (AIR_70_MACH_0_CORRECTED_COMMANDED_NE and AIR_70_MACH_HI_CORRECTED_COMMANDED_NE, based on power-lever position, inverse pressure ratio, and Mach number). As a result, developers could tune an engine so that Ng remained constant during a climb while the power lever remained in the same position. They could also achieve Ng values above 100% where required.
MSFS, however, currently provides only a linear control law: corrected N1 = f(power lever) with an optional additional segment defined by the tp_high_idle_throttle_pos and tp_idle_range parameters. The maximum corrected N1 value is indeed hard-coded to 100%. Consequently, I can confirm that there is currently no way to maintain constant actual N1 (Ng), with altitude, or to achieve N1 values above 100% within the normal throttle range, without extending it.
Work is currently underway to address this issue.
Besides this, I would also like to clarify one point to help explain the relationships between the different parts of the engine model.
If the clamp is removed from CN1, all developers have to do is adjust their fuel flow to achieve higher N1 with altitude.
It works a little differently from what you describe.
The corrected fuel-flow settings for turboprop and turboshaft engines do indeed define the relationship between CN1 and CFF. However, the target CN1 is controlled solely by the throttle (power lever). In other words, by adjusting CFF-related parameters such as low_idle_n1, idle_fuel_flow, high_n1, and high_fuel_flow, developers can tune CFF itself as a function of CN1, based on the hard-coded exponential curve. But CN1 will still follow the throttle position, because the fuel-flow PID controller regulates CFF in order to reach the target CN1. The only fuel-flow parameters that can affect the achievable CN1 range are idle_fuel_flow and fuel_flow_max, because they clamp CFF and therefore indirectly limit the CN1 range.
If a 3rd party developer does not update their fuel flows after this is fixed, their plane will work exactly the same as before, so no problems will be caused.
Any changes applied to the model by default will affect its behavior with existing settings. We are therefore carefully avoiding this approach in order to preserve backward compatibility.
So we are going to implement a solution that resolves the issue with the engine-speed control-law settings while preserving backward compatibility.
I will keep you updated and let you know as soon as I have any news on this subject.
Best regards,
Andrey / Asobo