Idea: lower the usual precision 1♦ catch-all to 1♣ to make use of the extra step. This is extra step is priceless, as I'll try to argue below. By lowering the catch-all, we make it possible to dump all the usual precision 1♦/2♣/2♦ openers into it... for better or worse! The reason I'm clearing up the whole 2 level? To be able to open a weak 2 in every suit.
DISCLAIMER: I have never, ever, read a single line on strong diamond systems, so this might be a deja vu for you

Below I assume a modern precision NT structure of 11-13, 14-16, 17-19, etc. You can tweak these a bit if you like stuff like the 9-11 or 10-12 1NT.
Openings: (note: 4441s bid as balanced hand if sing is AKQ, else fake a 5 card minor suit)
1♣ = catch-all, 11-15. Unbalanced 5+ in a minor or bal OR 11-13 balanced.
1♦ = strong, 16+ H.
1M = 5 card, good 10 to 15.
1NT = 14-16.
2x = weak, 5+ cards NV, 6 cards V.
2NT = 20-21.
rest = pree
Responses and follow ups:
After 1♣ responder uses transfers, so..
1♦ = 4+ hearts, 1♥ = 4+ spades. Now opener completes the transfer with 3 cards unbalanced or 4 cards and a bal 4333. With 4 card support you just jump to 2/3M. Hands without support bid 1NT (easy to find the 5-3 fit now) or 2/3m (no need to try for a 5-3 fit because it isn't there!). In competition, if 4th hand bids, opener can use support dbl to show a hand that would have completed the transfer at level 1.
Other responses to 1♣ are:
1♠ = artificial, asks for clarification. Usually 0-9 no major or a strong GF hand. Now opener bids 1NT/2m to show hand type, after which you can pass or use up some gadget (e.g. relays) to ask for shape.
1NT = 44 majors, 0-9. This bid is there so that opener can bypass spades over 1♣-1♦ with a bal hand. Opener now passes with a bal and bids 2m unbalanced. Corollary: if responder transfers to hearts and then bids spades, he's showing at least an invite.
rest = [you fill in]
The follow-ups to 1♣ are the main point of the system, which can easily dig out the major suit fits, something which could get complicated in the classic precision scheme. Obviously, this opener is a bit vulnerable to competition, especially from 2nd player. So it requires some tweaking with pet pard to sort all competitive situations.
After other openings you can more or less use whatever you like. Below is what I thought for "1st order approximation":
After a strong 1♦ responder and opener can also use transfers:
1♥ = artificial, weakish hand 0-7. Now opener bids 1♠...2♥ = transfer, responder filling it in with 0-4. Other bids = 5-7.
1♠...2♥ = transfer, GF 8+. Now opener fills transfer = gamma asking bid. Fill transfer in jump = beta ask. Other bids = alfa asking bid. Responder responds to asking bids 1st step to show 12+ (opener reasks in 1st step now), else is normal response 8-11.
2NT...3♥ = transfer, 5-7 hcp, decent suit with intermediates. Opener fills in to sign-off, fill in jump = gamma ask vs minor.
3NT...4♥ = as above, but with more shape and more concentration of hcps in the main suit. At most a Q outside.
That leaves 1♦-2♠/3♠ open for your favourite gadget (for instance 4441s, or specific ace/kings asks, or 55s with 5-7 hcp, etc.)
After a 1M opener I like a 2♣ relay with all invitational hands with 3 trumps, so that you don't go higher than 2M on those hands. We have:
1NT = forcing, but limited to 12 or bad 13.
2x = GF
2♣ = relay. Either nat GF or invite with 3 cards. Opener bids 2M = min 6 cards, 2♥ (if new suit) = 54, 2♦ = catch-all with all other mins, other bids = max. Now responder bids 2M with an invite, 3M = fit slammish and other bids are natural with 5+ CLUBS. 2NT is a "tell me more about your hand" kind of bid.
The rest of the system is up to you. This is just the skeleton. I got a lot of theory on how to bid after a 2m bid that can be 5 cards and may have a side major. PM me if interested.
Comments welcome and thank you for your time
