In case you haven't solved your problem, you can try the following:
1. Run Feature To Point with INSIDE option to get points from polygons; they carry polygon attributes and will be used as label points in step 5 later.
2. Run Feature To Line tools with both rivers and lakes as inputs. The result contains rivers and lake lines which are broken where rivers intersect.
3. Select lake lines by any of their attributes that the rivers lines don't have.
4. Run Simplify Lines; the endpoints of the lake lines won't move (remaining at the river connections).
5. Run Feature To Polygons, specify the label points you got in step 1, to reconstruct simplified lake polygons.
Be aware of the possibility that the label points may not be inside the corresponding resulting polygons, if the shape changes are significant. You may need to use Spatial Join to help analyze them.
Hope this helps.