Did you look into why both methods exist in the first place? I didn't know the reason.
is_anonymous() preceded is_authenticated(). The concern was that template code like this:
{% if not user.is_anonymous %}
Content for logged in users.
{% else %}
Content for non-logged in users.
{% endif %}
would show authenticated user content to anonymous users if the user variable didn't get put in the template context somehow [0]. User.is_authenticated() was added in Django 1.0 to mitigate this [1].
My concern is that if a project doesn't see the deprecation warnings and doesn't have adequate tests, they may not catch the fact that template code like:
{% if user.is_anonymous %}
Anonymous content
{% else %}
Authenticated content
{% endif %}
will start showing authenticated content to anonymous users after the method is removed. I think it's hard to argue that removing the method is work this risk. Maybe there's room to reduce confusion by deemphasizing usage of is_anonymous(). This might include removing its usage within Django itself and undocumenting it.
[0]
http://thegarywilson.com/blog/2006/is_authenticated-vs-is_anonymous/[1]
https://github.com/django/django/commit/51705f60b1