So, I will answer how I approached this problem in order to create my Holy Archer (link to the PDF of the class for anyone interested).
Basically, I decided to homebrew a new class (link above) which fits the concept my player wanted. I will share my thought process on how to homebrew the class starting just from the concept.
Choose a baseline from an existing class
The best way to start is to choose a class which is the closest to the design you are aiming and try to mimic the feature progression and power levels from that class. In this case, Paladin seems like the obvious choice.
Choose basic features
All classes have basic features that are shared among them.
Spellcasting. Is it a full caster, half caster, third caster or no spells at all? Since we are basing on the Paladin, we are going with half-caster.
Hit dice. Choose what feels appropriate to your concept. Usually, ranged squishy classes have a d6, ranged, but a little more vulnerable classes have a d8, classes that might see themselves in melee frequently have d10 and the Barbarian has a d12, which I believe should be reserved to extraordinarily resilient classes.
Saving Throw proficiencies. All classes have one major ST (Dex, Con, Wis) and one minor (Str, Cha, Int). Again, pick whatever feels better for your class.
Weapon and armor proficiencies. Well, this one should be straight forward from the concept itself. In this case, the class certainly should have access to martial and simple ranged weapon proficiencies, it makes little sense to give it shield proficiency and probably it should be using light or medium armor, not heavy.
Skills. Most classes have 2 skill proficiencies, chosen from a list that makes sense for the class. Classes supposed to be versatile outside of the combat, such as the Bard and the Rogue, have a few more proficiencies (3 and 4). Usually this will be the same as the class you are using as a base line. For this one, I talked to the player about what they thought it would make sense for their concept of class and we decided together for something close to the Paladin, but also with Acrobatics.
Starting equipment. Again, this should be straight forward from the concept, usually you have some idea on what kind of equipment the class is supposed to use. Here we gave it a longbow or a light crossbow.
Then, you need to worry about how your class progresses. All classes get to choose their subclass by 3rd level. How early the choice should be made depends on how much the class is dependent on the subclass. For example, a Cleric or a Warlocks are mostly defined by their pacts/domain, so that should be chosen at first level.
Usually, following the progression imposed by the base line class should be fine, with some minor tweaks. For example, for the Holy Archer, since at first level it does not have many interesting features, I gave it Archery already, similar to the Fighter fighting style at 1st level (as it is more of a damage dealing class, I took Lay on Hands out).
Most spellcasting classes don't get a new feature when they get a new spell slot level, so if you have a spellcasting class, some levels are already given.
It is also important to let your class get some thematic and situational, but not necessarily incredibly useful features. For example Rangers get the Favored Enemy, Paladins get Aura of Courage, Monks get Slow Fall and improved unarmored movement. These are useful in very specific situations, but you should not see yourself using them all the time. In the spirit of the Undead hunter, I have added some extra radiant damage against undeads, for example.
There are three levels which consist of a major power spike for all classes, which are the tier breaks. These are 5th, 11th and 17th level. Make sure you keep it up with the power level in these levels. Do not give your class a minor feature discussed earlier in these levels.
General design choices
As for races, 5e has taken out most of the "negative effects" from classes and races. A "mistake" I have seen in many homebrews is to try to balance a very strong bonus with a very bad drawback. This usually is a bad choice and leads to something not much fun and very hard to balance. As I said, this edition avoids this as much as it can, and usually when they don't, the result is either something never played or something arguably broken.
If you are making the class with some player in mind, some campaign or anything similar, remember to input your own personal ideas of what is fun and what would be interesting for your class. Most likely, you are not creating the homebrew in order to publish it, just to have fun with friends or something similar. Include aspects you know the players who will use the class think are fun. In this case, the player seems to have fun providing some support to the team, so include some supportive features, that may be useless "in a vacuum" but will make everyone in the team glad that character exists with this class. For the Holy Archer, I gave a feature that the players liked a lot: the ability to reroll a dice that failed to all the party members, except the character itself. It is a feature that, we hope, will make the party go "thank you for being here!" - while it is completely useless from the character point of view.
Play it, test it
For any homebrew, it is incredibly hard to armchair balance, and make a perfectly balanced, fun-to-play, amazing class/race/spell/item/w/e. Wizards have a team of experienced game designers, playtesters and they still release content through Unearthed Arcana to be tested by players and receive feedback and still some classes, races or w/e feel underwhelming or just too good. Don't be ashamed of trying it out and finding out that the 5th level feature you thought was overpowered is actually too specific and was never used, or that the dump feature you created which should be thematic allows a broken exploit, or that the feature you gave that class actually makes it very frustrating to play "against" as the DM. Then, remake it with your new experience and perfect it more and more, keeping in mind that the goal is mostly to have fun with that content.