I think this could be seen as a case of a person’s ability with something being described as a property of that thing. If that's indeed the case, it's in a way related to what was discussed here. As pointed out there, something like that happens in English, too. This stew eats well doesn’t mean the stew does the act of eating but the stew is such that people can eat it in a certain way or with a certain feeling. Borrowing this sentence structure, テニスが上手です might be translated as:
Tennis plays well.
I know a translation with a noun or an adjective would look more literal, but I couldn’t find an English word that means something one does well in the way favorite works for something one likes. Substituting it with a made-up literal translation of 上手, it would become:
Tennis is an “upper-hand”.