Your sentence is perfectly natural. It can be understood as an extension of the "double-subject" construction (Xは + Yが + predicate), which is very common and natural in Japanese. Xは establishes the topic/scope, and Yが marks some property that belongs to X. In other words, you can think of Yが as "in terms of Y".
- 私は彼より背が高い。
- 彼女は僕より頭がいい。
- 妻は私と性格が似ている。
- 妹は姉と血液型が違う。
- LとRは発音が違う。
The following sentences are also correct, but these are less common in Japanese.
- 私の背は彼(の背)より高い。
- 彼女の頭は僕(の頭)よりいい。
- 妻の性格は私(の性格)と似ている。
- 妹の血液型は姉(の血液型)と違う。
- Lの発音とRの発音は違う。
(The words in parentheses are usually omitted; see this question)
Likewise, in 私は君と意見が違う, 私は君と違う says "I am different from you", and 意見が marks the "properties" of 私 and 君. 私の意見は君と違う is also perfectly correct but it's not really better than the original. You can also say 私と君とでは意見が違う or 私と君の意見は違う, but 私と君との意見 makes little sense (it may mean "the opinion you and I made together" in some rare context).