[proofplan]
We prove the two implications separately. If $\mathcal U$ decides every subset of $I$, then any proper filter strictly extending $\mathcal U$ would contain some set $A$ not in $\mathcal U$, hence would also contain $I \setminus A$, forcing it to contain $\varnothing$. Conversely, if $\mathcal U$ is maximal proper and $A \notin \mathcal U$, we examine the filter generated by adjoining $A$ to $\mathcal U$; maximality forces this generated filter to be improper, and the resulting finite-intersection obstruction gives a member of $\mathcal U$ disjoint from $A$, hence $I \setminus A \in \mathcal U$.
[/proofplan]
[step:Use the decision property to rule out every proper extension]
Assume first that for every subset $B \subseteq I$, exactly one of $B$ and $I \setminus B$ belongs to $\mathcal U$. Let $\mathcal F \subseteq \mathcal P(I)$ be a proper filter on $I$ such that $\mathcal U \subseteq \mathcal F$.
Suppose, for contradiction, that $\mathcal F \neq \mathcal U$. Choose $A \in \mathcal F \setminus \mathcal U$. Since $\mathcal U$ decides every subset of $I$ and $A \notin \mathcal U$, we have $I \setminus A \in \mathcal U$. Because $\mathcal U \subseteq \mathcal F$, this gives $I \setminus A \in \mathcal F$. Since $\mathcal F$ is closed under finite intersections,
\begin{align*}
\varnothing = A \cap (I \setminus A) \in \mathcal F.
\end{align*}
This contradicts the properness of $\mathcal F$, which means $\varnothing \notin \mathcal F$. Therefore no proper filter strictly contains $\mathcal U$, and $\mathcal U$ is maximal among proper filters on $I$.
[/step]
[step:Adjoin an undecided set and identify the generated filter]
Assume conversely that $\mathcal U$ is maximal among proper filters on $I$. Let $A \subseteq I$ satisfy $A \notin \mathcal U$. Define the family $\mathcal G_A \subseteq \mathcal P(I)$ by
\begin{align*}
\mathcal G_A := \{B \subseteq I : \text{there exists } U \in \mathcal U \text{ such that } U \cap A \subseteq B\}.
\end{align*}
This is the filter generated by $\mathcal U \cup \{A\}$, provided it is proper.
First, $\mathcal U \subseteq \mathcal G_A$: if $B \in \mathcal U$, then with $U := B \in \mathcal U$ we have $U \cap A \subseteq B$. Also $A \in \mathcal G_A$, since $I \in \mathcal U$ and $I \cap A = A \subseteq A$.
The family $\mathcal G_A$ is closed upward: if $B \in \mathcal G_A$ and $B \subseteq C \subseteq I$, choose $U \in \mathcal U$ with $U \cap A \subseteq B$; then $U \cap A \subseteq C$, so $C \in \mathcal G_A$. It is also closed under finite intersections: if $B_1, B_2 \in \mathcal G_A$, choose $U_1, U_2 \in \mathcal U$ such that $U_1 \cap A \subseteq B_1$ and $U_2 \cap A \subseteq B_2$. Since $\mathcal U$ is a filter, $U_1 \cap U_2 \in \mathcal U$, and
\begin{align*}
(U_1 \cap U_2) \cap A \subseteq B_1 \cap B_2.
\end{align*}
Thus $B_1 \cap B_2 \in \mathcal G_A$.
[guided]
We want to understand what happens if we force the set $A$ to belong to a filter extending $\mathcal U$. The smallest possible candidate is the family of all subsets of $I$ that contain one of the basic intersections $U \cap A$ with $U \in \mathcal U$. This motivates the definition
\begin{align*}
\mathcal G_A := \{B \subseteq I : \text{there exists } U \in \mathcal U \text{ such that } U \cap A \subseteq B\}.
\end{align*}
This family contains $\mathcal U$: given $B \in \mathcal U$, take $U := B$. Then $U \cap A = B \cap A \subseteq B$, so $B \in \mathcal G_A$. It also contains $A$: since every filter contains $I$, we have $I \in \mathcal U$, and $I \cap A = A \subseteq A$.
Next we verify the filter closure properties. For upward closure, suppose $B \in \mathcal G_A$ and $B \subseteq C \subseteq I$. By definition of $\mathcal G_A$, there is $U \in \mathcal U$ with $U \cap A \subseteq B$. Since $B \subseteq C$, the same $U$ gives $U \cap A \subseteq C$, hence $C \in \mathcal G_A$.
For closure under finite intersections, suppose $B_1, B_2 \in \mathcal G_A$. Choose $U_1, U_2 \in \mathcal U$ such that
\begin{align*}
U_1 \cap A &\subseteq B_1, \\
U_2 \cap A &\subseteq B_2.
\end{align*}
Because $\mathcal U$ is a filter, $U_1 \cap U_2 \in \mathcal U$. Then
\begin{align*}
(U_1 \cap U_2) \cap A \subseteq (U_1 \cap A) \cap (U_2 \cap A) \subseteq B_1 \cap B_2,
\end{align*}
so $B_1 \cap B_2 \in \mathcal G_A$. Thus, except possibly for properness, $\mathcal G_A$ has the filter properties and is exactly the filter obtained by adjoining $A$ to $\mathcal U$.
[/guided]
[/step]
[step:Use maximality to force the generated filter to be improper]
The family $\mathcal G_A$ cannot be a proper filter. Indeed, if $\mathcal G_A$ were proper, then it would be a proper filter on $I$ containing $\mathcal U$. By maximality of $\mathcal U$, this would imply $\mathcal G_A = \mathcal U$. But $A \in \mathcal G_A$, so $A \in \mathcal U$, contradicting the choice of $A$.
Therefore $\mathcal G_A$ is not proper. Since improperness of a filter family means $\varnothing \in \mathcal G_A$, there exists $U_0 \in \mathcal U$ such that
\begin{align*}
U_0 \cap A \subseteq \varnothing.
\end{align*}
Hence $U_0 \cap A = \varnothing$, so $U_0 \subseteq I \setminus A$.
[guided]
Now maximality enters. If $\mathcal G_A$ were proper, then the previous step would show that $\mathcal G_A$ is a proper filter containing $\mathcal U$. Since $\mathcal U$ is maximal among proper filters, this containment would force
\begin{align*}
\mathcal G_A = \mathcal U.
\end{align*}
But we already proved that $A \in \mathcal G_A$. Equality would therefore give $A \in \mathcal U$, contradicting the standing assumption $A \notin \mathcal U$.
Thus $\mathcal G_A$ is not proper. The only filter axiom that can fail for the already verified filter-like family $\mathcal G_A$ is exclusion of the empty set, so $\varnothing \in \mathcal G_A$. By the definition of $\mathcal G_A$, this means that there is some $U_0 \in \mathcal U$ with
\begin{align*}
U_0 \cap A \subseteq \varnothing.
\end{align*}
Since no set is smaller than $\varnothing$, this gives
\begin{align*}
U_0 \cap A = \varnothing.
\end{align*}
Equivalently, every point of $U_0$ lies outside $A$, so $U_0 \subseteq I \setminus A$.
[/guided]
[/step]
[step:Apply upward closure to decide the original subset]
Since $U_0 \in \mathcal U$ and $U_0 \subseteq I \setminus A \subseteq I$, upward closure of the filter $\mathcal U$ gives
\begin{align*}
I \setminus A \in \mathcal U.
\end{align*}
Thus for every subset $A \subseteq I$ with $A \notin \mathcal U$, we have $I \setminus A \in \mathcal U$.
Finally, since $\mathcal U$ is proper, it cannot contain both $A$ and $I \setminus A$, because then finite-intersection closure would give
\begin{align*}
\varnothing = A \cap (I \setminus A) \in \mathcal U.
\end{align*}
Therefore for every $A \subseteq I$, exactly one of $A$ and $I \setminus A$ belongs to $\mathcal U$. Hence $\mathcal U$ is an ultrafilter.
[/step]