You can say a bit more if you for instance assume that the Hilbert space $H$ is a finite dimensional complex vector space.
1) Spectrum. As Lubos Motl observes, $A^2=1-B^{\dagger}B$ must be Hermitian. In fact, the spectrum $\mathrm{Spec}(A^2)$ of $A^2$ must satisfy
$$ \mathrm{Spec}(A^2) ~\subseteq~ ]-\infty,1], $$
and therefore the spectrum $\mathrm{Spec}(A)$ of $A$ must satisfy
$$ \mathrm{Spec}(A) ~\subseteq~ [-1,1] \cup i\mathbb{R}. $$
As Lubos Motl explains, the equation $[A,B]=B$ implies one of two alternatives:
$$ \lambda\in\mathrm{Spec}(A) \qquad \Leftrightarrow \qquad\exists v\in H\backslash\{0\}: (A-\lambda)v=0 $$
$$\Rightarrow\qquad(A-\lambda-1)Bv=0 \qquad\Rightarrow\qquad \lambda+1\in\mathrm{Spec}(A) \qquad\mathrm{or} \qquad Bv=0.$$
The second alternative $Bv=0$ implies that
$$\lambda^2v=A^2v=(1-B^{\dagger}B)v=v \qquad \Rightarrow \qquad \lambda =\pm 1.$$
This is very restrictive. We conclude that the spectrum $\mathrm{Spec}(A)$ of $A$ must satisfy
$$ \mathrm{Spec}(A) ~\subseteq~ \{-1,0,1\}. $$
2) We can write $A$ on Jordan canonical block form by a choice of basis. Note that the basis is not necessarily orthonormal. The diagonal elements satisfy $A_{ii}\in \{-1,0,1\}$. Now square the Jordan canonical block form to get $A^2$ on triangular form. The diagonal elements satisfy $(A^2)_{ii}\in \{0,1\}$. From the characteristic polynomial for $A^2$,
$$p_{A^2}(\lambda)=\det(A^2-\lambda)= \prod_i ((A^2)_{ii}-\lambda),$$
we deduce that
$$ \mathrm{Spec}(A^2) ~\subseteq~ \{0,1\}. $$
3) Define eigenspaces
$$H_0 :=\mathrm{ker}(A^2)=\mathrm{ker}(B^{\dagger}B-1),$$
and
$$H_1 :=\mathrm{ker}(A^2-1)=\mathrm{ker}(B^{\dagger}B)=\mathrm{ker}(B),$$
each of which may be zero. (The equality $\mathrm{ker}(B^{\dagger}B)=\mathrm{ker}(B)$ can be deduced from, e.g., polar decomposition of $B$.) Since $A^2$ is Hermitian, we have that $H=H_0\oplus H_1$ is an orthogonal decomposition of $H$. Moreover, the operator $A^2$ is the orthogonal projection on the subspace $H_1$, and $B^{\dagger}B$ is the orthogonal projection on the subspace $H_0$.
4) Next, the equation $[A,B]=B$ implies that $A\mathrm{ker}(B) \subseteq\mathrm{ker}(B)$, i.e., that $AH_1 \subseteq H_1$. Furthermore, $A\mathrm{ker}(A^2)\subseteq\mathrm{ker}(A)\subseteq\mathrm{ker}(A^2)$, i.e., that $AH_0 \subseteq H_0$. So $A$ is stable under the decomposition $H=H_0\oplus H_1$. Let us introduce operators
$$A_1 := A |_{H_{1}} \qquad \mathrm{and} \qquad A_0 := A |_{H_{0}}, $$
with spectra
$$ \mathrm{Spec}(A_1) ~\subseteq~ \{\pm 1\} \qquad \mathrm{and} \qquad \mathrm{Spec}(A_0) ~\subseteq~ \{0\},$$
respectively. It follows from the fact that
$$ (A_1\pm 1)^2 = \underbrace{(A_1^2-1)}_{=0} \pm 2(A_1\pm 1), $$
that the series of generalized eigenspaces are just ordinary eigenspaces
$$\mathrm{ker}(A\pm 1)=\mathrm{ker}(A_1\pm 1)\subseteq\mathrm{ker}(A_1\pm 1)^2\subseteq\mathrm{ker}(A_1\pm 1)^3\subseteq\ldots =\mathrm{ker}(A_1\pm 1). $$
In other words, the operator $A_1:H_1\to H_1$ is diagonalizable (but not necessarily in an orthonormal basis),
$$ H_1 = \mathrm{ker}(A+1)+\mathrm{ker}(A-1). $$
Similarly, it follows from the fact that $A_0^2 = 0$, that the series
$$\mathrm{ker}(A)=\mathrm{ker}(A_0)\subseteq\mathrm{ker}(A_0^2)\subseteq\mathrm{ker}(A_0^3)\subseteq\ldots =\mathrm{ker}(A_0^2)=H_0 $$
stabilizes after at most two steps.
5) Next, the equation $[A,B]=B$ implies after a straightforward calculation that $B(H_0) \subseteq H_1$, and hence $B^2=0$ nilpotent. In fact, a refined argument yields that $B(H_0) \subseteq \mathrm{ker}(A-1)$. Therefore $BA_0=0$, and since $B|_{H_{0}}$ is injective on $H_0$, we finally conclude that
$$A_0 = 0\qquad \Leftrightarrow \qquad H_0=\mathrm{ker}(A).$$
In other words, the operator $A:H\to H$ is diagonalizable (but not necessarily in an orthonormal basis),
$$ H = (\mathrm{ker}(A-1)+\mathrm{ker}(A+1))\oplus\mathrm{ker}(A). $$
6) If we choose ortonormal bases for $\mathrm{ker}(A-1)$ and $\mathrm{ker}(A)$, and then extend with an ortonormal basis for
$$H'_{-1}:= \left( \mathrm{ker}(A-1)\oplus\mathrm{ker}(A) \right)^{\perp}, $$
it is not hard to see that the operators $A$ and $B$ are of the block form
$$A= \left[\begin{array}{ccc}1&T&0 \\ 0&-1&0 \\ 0&0&0 \end{array}\right], \qquad B= \left[\begin{array}{ccc}0&0&U \\ 0&0&0 \\ 0&0&0 \end{array}\right], \qquad U^{\dagger}U=1,$$
where the row and columns are ordered as $\mathrm{ker}(A-1)\oplus H'_{-1}\oplus\mathrm{ker}(A)$.
7) Two special cases:
$$A= \left[\begin{array}{cc}1&T \\ 0&-1 \end{array}\right], \qquad B= \left[\begin{array}{cc}0&0 \\ 0&0 \end{array}\right].$$
$$A= \left[\begin{array}{cc}1&0 \\ 0&0 \end{array}\right], \qquad B= \left[\begin{array}{cc}0&U \\ 0&0 \end{array}\right], \qquad U^{\dagger}U=1.$$