specially considering that in my mod I've added the "Tree Farm" building from Alpha Centauri, which makes forests more attractive.
Given my mod's roots, you can guess what I'd originally called the placeholder Improvement, but in the end I just named the improvement "Build a Forest" so that it'd look right in the tech tree and action panel. One of my early concepts was that the user would plant an actual Tree Farm, with some token yield boost, and every turn it'd have a chance of evolving into either a Forest or Jungle, with the chance of each depending on the terrain type underneath. This had some minor AI balance issues, though, so I left it the simpler method I'd described.
Side note: if you give the temporary improvement the graphic for a forest or jungle then things can look strange, because the game won't delete the graphic of the improvement correctly in some cases. In the end, what I did was give them the graphic for spices, wheat, cotton, etc., which'd be hidden by the forest or jungle graphic even if the deletion failed.
By the way, I imagine that AI workers won't plant forests and jungles, right?
You imagine wrong; the AI used these just fine. Well, "fine" in the sense that it used them as well as it did any other Improvement.
You see, the AI doesn't use Flavor ratings when deciding whether an Improvement is worth building; it'll only consider the yield differential between the "before" and "after" states for that Improvement. So, what I'd do is have the temporary IMPROVEMENT_PLANT_FOREST give, say, a "fake" +2 Production boost, which'd make the AI think that building it would add 2 production to the hex for all eternity. As a result, the AI would value it exactly as much as it'd value a late-era Mine, but wouldn't usually destroy a Trading Post or Farm to make one. (Likewise, the IMPROVEMENT_PLANT_JUNGLE would give +1 Food and +1 Gold, or something similar.) The fact that the improvement in question would be destroyed as soon as it finished was irrelevant to the AI; it'd think that planting a forest would add +2 production, it'd build the temporary improvement, and POOF, forest! Then it'd look at that forest and think "hmm, chop it, or put a lumbermill on it?" Most of the time it'd pick the lumbermill path, which'd end up giving it enough Production that the AI wouldn't later decide to chop it, but if the AI chopped it right away, well, he'd get some production back. There was no way to really prevent that sort of loop, but as long as it rewarded enough to be a viable strategy, the AI wouldn't be too badly penalized.
If you didn't give those temporary improvements any yields, the AI would never have built them, because it wouldn't see them as useful, but as long as you give them a value roughly equal to what the AI will ACTUALLY gain, you're okay even if the yield is not actually the same as what the final product will give. I used a similar mechanism for my Monolith (a Great Person-made Improvement that added Happiness); the placeholder improvement for that one had higher-than-normal food, gold, etc. to make the AI value it as much as I knew its happiness was worth.
Also, to balance Jungle planting, I was looking at reducing the University jungle boost to +1 instead of +2, but have chopped Jungles give 20 Food. Never got around to doing that, but you might want to look into something similar. Alternately, you can use the CanConstruct Lua triggers to prevent someone from planting a new jungle adjacent to an existing one, or something similar to limit the number of times a given player can use these actions.