The German train tickets actually tend to go on sale 6 months ahead (program started a year ago). Ticket prices will only go up from the rates you see now. You can see the full fares on the same screen when you search through DB or Trenitalia.
Slower regional trains (which you won't use between these big cities) and trips wholly within Switzerland don't tend to offer advance discounts.
We suggest staying in Luzern or the Lauterbrunnen area to be closer to the Alps, not Zurich. And Florence has better sightseeing than Milan.
If you don't fly from Venice to Brussels, then DB suggest that the fastest routes (12.5 to 14.5 hours) are either via France or would cross Austria on the way to Germany. I would choose the route via Austria, which is back through Munich. The French trains are best reserved ahead, especially with a rail pass, and also require changing stations in Paris by Metro or taxi.
A more logical semi-circle all by train would be Berlin -> Prague -> Munich -> Venice -> Milan or Florence or ? -> Luzern-> Brussels (flight out). The fastest trains from Venice to Luzern take under 6 hours.
If you're under 28 on the day of activating a Eurail pass, you can get the Global pass Youth rate for 5 days of travel within a month in 2nd class, currently at $311 with the discount offer. Or a Select pass covering 6 travel days in 4 countries costs the same and you can pay separately for the bit from the German border to Brussels (about $20). Single adults 28+ will pay more, both because their pass only comes in 1st class and without a group-travel discount. Many Swiss mountain lifts offer 25-50% discounts with a Eurail brand pass (do not require using a counted travel day). The pass is quite flexible to use in the countries where you're likely to travel (not France).