This is a convex relaxation approach based on the answer by user bartgol. Let $B=A-I$ ($I$ is identity). Also, for any matrix $X$, let $diag(X)$ denote a diagonal matrix whose diagonal entries are same as that of $X$. Then, I can rewrite your problem as
\begin{align}
\min_{X} &\mid\mid B-X-diag(X)\mid\mid_{frob} && (\mbox{find an X minimizing the given frobenius norm})\\
such.that.~~~&X\geq 0 && (\mbox{X should be positive semi-definite}) \\
&rank(X)\,=\,1 && (\mbox{rank of X should be one}) \\
&X_{i,i} \leq 1,~\forall i && (\mbox{all diagonal entries should be less than 1})
\end{align}
The idea is as follows, the first two constraints implies that $X$ should be of the form $X=aa^T$ for some vector $a$.(verify yourself). Thus $X_{i,i}=a_i^2$(verify). Thus the last constraint implies that $a_i^2\leq 1$ which is same as $a_i\in [-1,1]$ .
Now comes the amazing part. The objective function is convex, all constraints are convex except the rank constraint. Thus, you simply the drop non-convex rank constraint and make it convex. This belongs to the class of semi-definite programs and then can be solved using an SDP solver. Yes, you may not get a rank-one solution. But then you can get a high quality sub-optimal solution using several well known techniques in optimization literature. For instance, randomization is a well known strategy. Search about semi-definite relaxation to learn more about this kind of theory.
PS: If you are familiar with MATLAB, you can use the package well-known as CVX to solve this. I simulated your problem for some random examples and it does give rank-one solutions for most of the cases. The problem will look like this in CVX modelling language
cvx_begin sdp
variable X(N,N) symmetric
minimize norm(B-X-diag(diag(X)),'fro')
X>=0
diag(X) <= 1
cvx_end
(yes, only that five lines of code is needed!!).