There could be more options for dealing with puppets like
- Request Navy
- Start a fairer trade to prevent the puppet from gaining autonomy, Sometimes I cannot negotiate with my puppets as they will gain independence very quickly.
- Stop sending unsolicited units
- Making it possible to edit the puppet's behavior as it exists in the EU in a more offensive or defensive way, this would prevent the stacking of units in undesirable locations such as attacks in areas with low supply.
- Possibility to declare war if a puppet gains independence.
In my opinion:
Grabbing a puppet's navy (or air force, or army for that matter) should produce unrest and do so quickly. When the USSR did that with the Warsaw Pact, they literally had to build a wall to keep citizens from trying to escape their occupation. They went from puppets to annexed nations with imaginary lines drawn on the map.
I do not have much opinion on puppet trade specifically. I do believe trade in general needs a major overhaul, such as Allied and Axis AI trading partners being much better at helping each other and the strange idea that the Axis could get oil from the Middle East. Then there is the whole Lend Lease issue that needs to be fixed so it works like it did during the war. What we have now fails the history test.
Puppets should not send unsolicited units. Ever. Grabbing units should be something the player decides and pays the price in autonomy. The time span in the game is to short to bend a conquered nation to go all in with your conquering nation and provide unlimited manpower and units for your war effort. Only the exact opposite could possibly happen, that being the puppet nation can quickly be pushed so far that it starts to form resistance and becomes annexed in game terms.
Good grief already, please fix this issue in every sense of the word! There is not one player who can possibly be happy with allies, etc... sending units to the point of overloading your supply areas. Invading France while part of the Alliance has ended many a game for me. It.Is.Not.Fun. If we truly are the Supreme Commander of Allied Forces, then by gosh, those pesky allied divisions need to be under the player's control when they enter an active theater of war.
I do agree that if a puppet declares independence then the ruling country should have the option to declare war. Insurrection, no matter how justified, is rarely tolerated by any nation, even democratic ones.