ARC doesn't really matter. So long as you understand the negative aspects of singletons and are prepared to have that or deal with it, the pattern works fine.
What I suggest as an alternative is to design a static class and use the Provider pattern. This is a typical interface I use with RESTKit (this one accesses the facebook graph API).
@interface FBProvider : NSObject
+ (BOOL) canMakeRequests;
+ (id) login;
+ (id) logout;
+ (BOOL) application: (UIApplication*) application
openURL: (NSURL*) url
sourceApplication: (NSString*) sourceApplication
annotation: (id) annotation;
+ (id) perform: (RKRequestMethod) method friends: (Friend*) frien;
+ (id) perform: (RKRequestMethod) method boasts: (id) obj;
+ (id) perform: (RKRequestMethod) method invites: (id)obj;
+ (id) perform: (RKRequestMethod) method likes: (id)obj;
@end
There is no singleton, everything is static and if you design your interface to operate from your app data model and NOT your web service UI updates happen automatically.
Alternatively, if you feel you must use a singleton why not utilize your app delegate which is a true singleton. To expand, I am suggesting your web service or data provider becomes a member of an existing singleton and you will never have to worry about threading issues yourself because hopefully these are handled by Cocoa.